Skip to content

Commit 64bdf43

Browse files
committed
Fix blockModelNoOffset doesn't work with Sodium 0.4.9+
Signed-off-by: Hendrix-Shen <[email protected]>
1 parent 5b39f43 commit 64bdf43

File tree

4 files changed

+43
-5
lines changed

4 files changed

+43
-5
lines changed

src/main/java/com/plusls/ommc/mixin/feature/blockModelNoOffset/sodium/MixinBlockRenderer.java

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.plusls.ommc.mixin.feature.blockModelNoOffset.sodium;
22

33
import com.plusls.ommc.feature.blockModelNoOffset.BlockModelNoOffsetUtil;
4+
import me.jellysquid.mods.sodium.client.render.chunk.compile.pipeline.BlockRenderer;
45
import net.minecraft.core.BlockPos;
56
import net.minecraft.world.level.BlockGetter;
67
import net.minecraft.world.level.block.state.BlockState;
@@ -13,11 +14,9 @@
1314
import top.hendrixshen.magiclib.dependency.api.annotation.Dependencies;
1415
import top.hendrixshen.magiclib.dependency.api.annotation.Dependency;
1516

16-
@Dependencies(and = @Dependency(value = "sodium", versionPredicate = "<0.5"))
17-
@Pseudo
18-
@Mixin(targets = "me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer", remap = false)
17+
@Dependencies(and = @Dependency(value = "sodium", versionPredicate = ">0.4.8"))
18+
@Mixin(value = BlockRenderer.class, remap = false)
1919
public class MixinBlockRenderer {
20-
@Dynamic
2120
@Redirect(method = "renderModel",
2221
at = @At(value = "INVOKE",
2322
target = "Lnet/minecraft/world/level/block/state/BlockState;getOffset(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/Vec3;",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.plusls.ommc.mixin.feature.blockModelNoOffset.sodium;
2+
3+
import com.plusls.ommc.feature.blockModelNoOffset.BlockModelNoOffsetUtil;
4+
import net.minecraft.core.BlockPos;
5+
import net.minecraft.world.level.BlockGetter;
6+
import net.minecraft.world.level.block.state.BlockState;
7+
import net.minecraft.world.phys.Vec3;
8+
import org.spongepowered.asm.mixin.Dynamic;
9+
import org.spongepowered.asm.mixin.Mixin;
10+
import org.spongepowered.asm.mixin.Pseudo;
11+
import org.spongepowered.asm.mixin.injection.At;
12+
import org.spongepowered.asm.mixin.injection.Redirect;
13+
import top.hendrixshen.magiclib.dependency.api.annotation.Dependencies;
14+
import top.hendrixshen.magiclib.dependency.api.annotation.Dependency;
15+
16+
@Dependencies(and = @Dependency(value = "sodium", versionPredicate = "<0.4.9>"))
17+
@Pseudo
18+
@Mixin(targets = "me.jellysquid.mods.sodium.client.render.pipeline.BlockRenderer", remap = false)
19+
public class MixinBlockRendererLegacy {
20+
@Dynamic
21+
@Redirect(method = "renderModel",
22+
at = @At(value = "INVOKE",
23+
target = "Lnet/minecraft/world/level/block/state/BlockState;getOffset(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/phys/Vec3;",
24+
ordinal = 0, remap = true))
25+
private Vec3 blockModelNoOffset(BlockState blockState, BlockGetter world, BlockPos pos) {
26+
return BlockModelNoOffsetUtil.blockModelNoOffset(blockState, world, pos);
27+
}
28+
}

src/main/resources/ommc.mixins.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -51,5 +51,8 @@
5151
],
5252
"injectors": {
5353
"defaultRequire": 1
54-
}
54+
},
55+
"mixins": [
56+
"feature.blockModelNoOffset.sodium.MixinBlockRendererLegacy"
57+
]
5558
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.plusls.ommc.mixin.feature.blockModelNoOffset.sodium;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import top.hendrixshen.magiclib.compat.preprocess.api.DummyClass;
5+
6+
@Mixin(DummyClass.class)
7+
public class MixinBlockRenderer {
8+
}

0 commit comments

Comments
 (0)