diff --git a/src/main/java/carpet/mixins/ClientPlayNetworkHandler_smoothClientAnimationsMixin.java b/src/main/java/carpet/mixins/ClientPlayNetworkHandler_smoothClientAnimationsMixin.java index 1ab5c95a..88da5683 100644 --- a/src/main/java/carpet/mixins/ClientPlayNetworkHandler_smoothClientAnimationsMixin.java +++ b/src/main/java/carpet/mixins/ClientPlayNetworkHandler_smoothClientAnimationsMixin.java @@ -41,7 +41,7 @@ public class ClientPlayNetworkHandler_smoothClientAnimationsMixin if (blockState.getBlock() == Blocks.MOVING_PISTON) { tag.putFloat("progress", Math.min(tag.getFloat("progress") + 0.5F, 1.0F)); blockEntity = new PistonBlockEntity(); - blockEntity.fromTag(tag); + blockEntity.fromTag(blockState, tag); world.setBlockEntity(blockPos, blockEntity); blockEntity.resetBlock(); } diff --git a/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java b/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java index 66d1db90..edd7660d 100644 --- a/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java +++ b/src/main/java/carpet/mixins/PistonBlockEntity_movableTEMixin.java @@ -116,14 +116,14 @@ public abstract class PistonBlockEntity_movableTEMixin extends BlockEntity imple } @Inject(method = "fromTag", at = @At(value = "TAIL")) - private void onFromTag(CompoundTag compoundTag_1, CallbackInfo ci) + private void onFromTag(BlockState state, CompoundTag compoundTag_1, CallbackInfo ci) { if (CarpetSettings.movableBlockEntities && compoundTag_1.contains("carriedTileEntityCM", 10)) { if (this.pushedBlock.getBlock() instanceof BlockEntityProvider) this.carriedBlockEntity = ((BlockEntityProvider) (this.pushedBlock.getBlock())).createBlockEntity(this.world); if (carriedBlockEntity != null) //Can actually be null, as BlockPistonMoving.createNewTileEntity(...) returns null - this.carriedBlockEntity.fromTag(compoundTag_1.getCompound("carriedTileEntityCM")); + this.carriedBlockEntity.fromTag(state, compoundTag_1.getCompound("carriedTileEntityCM")); } } diff --git a/src/main/java/carpet/mixins/Structure_fillUpdatesMixin.java b/src/main/java/carpet/mixins/Structure_fillUpdatesMixin.java index 1e7fceeb..f340479c 100644 --- a/src/main/java/carpet/mixins/Structure_fillUpdatesMixin.java +++ b/src/main/java/carpet/mixins/Structure_fillUpdatesMixin.java @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; @Mixin(Structure.class) public class Structure_fillUpdatesMixin { - @Redirect( method = "place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At( + @Redirect( method = "place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At( value = "INVOKE", target = "Lnet/minecraft/world/IWorld;updateNeighbors(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/Block;)V" )) @@ -23,7 +23,7 @@ public class Structure_fillUpdatesMixin iWorld.updateNeighbors(var1, var2); } - @Redirect(method = "place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At( + @Redirect(method = "place(Lnet/minecraft/world/IWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/structure/StructurePlacementData;I)Z", at = @At( value = "INVOKE", target = "Lnet/minecraft/structure/StructurePlacementData;shouldUpdateNeighbors()Z" )) diff --git a/src/main/java/carpet/script/CarpetExpression.java b/src/main/java/carpet/script/CarpetExpression.java index f3aa888c..312c9624 100644 --- a/src/main/java/carpet/script/CarpetExpression.java +++ b/src/main/java/carpet/script/CarpetExpression.java @@ -827,7 +827,7 @@ public class CarpetExpression destTag.putInt("x", targetPos.getX()); destTag.putInt("y", targetPos.getY()); destTag.putInt("z", targetPos.getZ()); - be.fromTag(destTag); + be.fromTag(finalSourceBlockState, destTag); be.markDirty(); } }