diff --git a/src/main/java/tobinio/denseflowers/mixin/sodium/BlockRendererMixin.java b/src/main/java/tobinio/denseflowers/mixin/sodium/BlockRendererMixin.java index d82d4b4..2c99828 100644 --- a/src/main/java/tobinio/denseflowers/mixin/sodium/BlockRendererMixin.java +++ b/src/main/java/tobinio/denseflowers/mixin/sodium/BlockRendererMixin.java @@ -1,5 +1,6 @@ package tobinio.denseflowers.mixin.sodium; +import com.llamalad7.mixinextras.sugar.Local; import net.caffeinemc.mods.sodium.client.render.chunk.compile.pipeline.BlockRenderer; import net.minecraft.block.BlockState; import net.minecraft.client.render.model.BakedModel; @@ -26,14 +27,14 @@ public class BlockRendererMixin { private Vector3f posOffset; @Inject (method = "renderModel", at = @At (value = "INVOKE", target = "Lorg/joml/Vector3f;add(FFF)Lorg/joml/Vector3f;"), remap = false) - private void renderModel(BakedModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci) { + private void renderModel(BakedModel model, BlockState state, BlockPos pos, BlockPos origin, CallbackInfo ci, + @Local Vec3d modelOffset) { Vec3d offset = OffsetStorage.offsets.get(pos); if (offset != null) { - posOffset.add((float) offset.getX(), - (float) offset.getY(), - (float) offset.getZ()); + posOffset.sub((float) modelOffset.getX(), (float) modelOffset.getY(), (float) modelOffset.getZ()); + posOffset.add((float) offset.getX(), (float) offset.getY(), (float) offset.getZ()); } } }