diff --git a/libnbt-v1_16_R1/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R1/NBTTools.java b/libnbt-v1_16_R1/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R1/NBTTools.java index 8ee9e5c..e4dae9e 100644 --- a/libnbt-v1_16_R1/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R1/NBTTools.java +++ b/libnbt-v1_16_R1/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R1/NBTTools.java @@ -321,11 +321,11 @@ public void writeTileEntity(Block block, CompoundTag tag) { if (tileEntity == null) { return; } - tileEntity.save(toNativeCompound(tag)); - tileEntity.update(); BlockPosition pos = new BlockPosition(block.getX(), block.getY(), block.getZ()); WorldServer handle = craftWorld.getHandle(); IBlockData blockData = handle.getType(pos); + tileEntity.load(blockData, toNativeCompound(tag)); + tileEntity.update(); craftWorld.getHandle().notify(new BlockPosition(block.getX(), block.getY(), block.getZ()), blockData, blockData, 3); } @@ -337,9 +337,8 @@ public CompoundTag readTileEntity(Block block) { if (tileEntity == null) { return null; } - IBlockData blockData = craftWorld.getHandle().getType(pos); NBTTagCompound tag = new NBTTagCompound(); - tileEntity.load(blockData, tag); + tileEntity.save(tag); return fromNativeCompound(tag); } diff --git a/libnbt-v1_16_R2/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R2/NBTTools.java b/libnbt-v1_16_R2/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R2/NBTTools.java index c3b745c..622a5e6 100644 --- a/libnbt-v1_16_R2/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R2/NBTTools.java +++ b/libnbt-v1_16_R2/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R2/NBTTools.java @@ -321,11 +321,11 @@ public void writeTileEntity(Block block, CompoundTag tag) { if (tileEntity == null) { return; } - tileEntity.save(toNativeCompound(tag)); - tileEntity.update(); BlockPosition pos = new BlockPosition(block.getX(), block.getY(), block.getZ()); WorldServer handle = craftWorld.getHandle(); IBlockData blockData = handle.getType(pos); + tileEntity.load(blockData, toNativeCompound(tag)); + tileEntity.update(); craftWorld.getHandle().notify(new BlockPosition(block.getX(), block.getY(), block.getZ()), blockData, blockData, 3); } @@ -337,9 +337,8 @@ public CompoundTag readTileEntity(Block block) { if (tileEntity == null) { return null; } - IBlockData blockData = craftWorld.getHandle().getType(pos); NBTTagCompound tag = new NBTTagCompound(); - tileEntity.load(blockData, tag); + tileEntity.save(tag); return fromNativeCompound(tag); } diff --git a/libnbt-v1_16_R3/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R3/NBTTools.java b/libnbt-v1_16_R3/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R3/NBTTools.java index eb30c54..d2cd75c 100644 --- a/libnbt-v1_16_R3/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R3/NBTTools.java +++ b/libnbt-v1_16_R3/src/main/java/org/cyberiantiger/minecraft/unsafe/v1_16_R3/NBTTools.java @@ -321,11 +321,11 @@ public void writeTileEntity(Block block, CompoundTag tag) { if (tileEntity == null) { return; } - tileEntity.save(toNativeCompound(tag)); - tileEntity.update(); BlockPosition pos = new BlockPosition(block.getX(), block.getY(), block.getZ()); WorldServer handle = craftWorld.getHandle(); IBlockData blockData = handle.getType(pos); + tileEntity.load(blockData, toNativeCompound(tag)); + tileEntity.update(); craftWorld.getHandle().notify(new BlockPosition(block.getX(), block.getY(), block.getZ()), blockData, blockData, 3); } @@ -337,9 +337,8 @@ public CompoundTag readTileEntity(Block block) { if (tileEntity == null) { return null; } - IBlockData blockData = craftWorld.getHandle().getType(pos); NBTTagCompound tag = new NBTTagCompound(); - tileEntity.load(blockData, tag); + tileEntity.save(tag); return fromNativeCompound(tag); }