diff --git a/src/main/java/org/dimdev/jeid/mixin/core/MixinChunkPrimer.java b/src/main/java/org/dimdev/jeid/mixin/core/MixinChunkPrimer.java index 0af20bd..7dfa811 100644 --- a/src/main/java/org/dimdev/jeid/mixin/core/MixinChunkPrimer.java +++ b/src/main/java/org/dimdev/jeid/mixin/core/MixinChunkPrimer.java @@ -7,6 +7,9 @@ import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.Overwrite; import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(ChunkPrimer.class) @SuppressWarnings("deprecation") @@ -21,9 +24,10 @@ public IBlockState getBlockState(int x, int y, int z) { return state == null ? DEFAULT_STATE : state; } - @Overwrite - public void setBlockState(int x, int y, int z, IBlockState state) { + @Inject(method = "setBlockState", at = @At(value = "FIELD", target = "Lnet/minecraft/world/chunk/ChunkPrimer;data:[C"), cancellable = true) + private void setIntBlockState(int x, int y, int z, IBlockState state, CallbackInfo ci) { intData[getBlockIndex(x, y, z)] = Block.BLOCK_STATE_IDS.get(state); + ci.cancel(); } @Overwrite