diff --git a/patches/minecraft/net/minecraft/world/level/block/entity/BlockEntity.java.patch b/patches/minecraft/net/minecraft/world/level/block/entity/BlockEntity.java.patch index 86d9a4cfaf..ff2f4ed518 100644 --- a/patches/minecraft/net/minecraft/world/level/block/entity/BlockEntity.java.patch +++ b/patches/minecraft/net/minecraft/world/level/block/entity/BlockEntity.java.patch @@ -24,17 +24,12 @@ } public static BlockPos m_187472_(CompoundTag p_187473_) { -@@ -48,6 +_,13 @@ +@@ -48,6 +_,8 @@ } public void m_142466_(CompoundTag p_155245_) { + if (p_155245_.m_128441_("ForgeData")) this.customTileData = p_155245_.m_128469_("ForgeData"); + if (getCapabilities() != null && p_155245_.m_128441_("ForgeCaps")) deserializeCaps(p_155245_.m_128469_("ForgeCaps")); -+ } -+ -+ public CompoundTag save(CompoundTag tag) { -+ m_187478_(tag); -+ return tag; } protected void m_183515_(CompoundTag p_187471_) { diff --git a/src/main/java/net/minecraftforge/common/extensions/IForgeBlockEntity.java b/src/main/java/net/minecraftforge/common/extensions/IForgeBlockEntity.java index e22f8c9d0f..81eee93750 100644 --- a/src/main/java/net/minecraftforge/common/extensions/IForgeBlockEntity.java +++ b/src/main/java/net/minecraftforge/common/extensions/IForgeBlockEntity.java @@ -54,9 +54,7 @@ public interface IForgeBlockEntity extends ICapabilitySerializable @Override default CompoundTag serializeNBT() { - CompoundTag ret = new CompoundTag(); - self().save(ret); - return ret; + return self().saveWithFullMetadata(); } /** diff --git a/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java b/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java index 16e9dc1802..589b81d01e 100644 --- a/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java +++ b/src/main/java/net/minecraftforge/common/util/BlockSnapshot.java @@ -84,7 +84,7 @@ public class BlockSnapshot @Nullable private static CompoundTag getBlockEntityTag(@Nullable BlockEntity te) { - return te == null ? null : te.save(new CompoundTag()); + return te == null ? null : te.saveWithFullMetadata(); } public BlockState getCurrentBlock() diff --git a/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java b/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java index fd7601b427..074bd86b02 100644 --- a/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java +++ b/src/main/java/net/minecraftforge/fluids/capability/TileFluidHandler.java @@ -52,11 +52,10 @@ public class TileFluidHandler extends BlockEntity } @Override - public CompoundTag save(CompoundTag tag) + protected void saveAdditional(CompoundTag tag) { - super.save(tag); + super.saveAdditional(tag); tank.writeToNBT(tag); - return tag; } @Override diff --git a/src/test/java/net/minecraftforge/debug/block/FullPotsAccessorDemo.java b/src/test/java/net/minecraftforge/debug/block/FullPotsAccessorDemo.java index 35f1197d4b..f309716067 100644 --- a/src/test/java/net/minecraftforge/debug/block/FullPotsAccessorDemo.java +++ b/src/test/java/net/minecraftforge/debug/block/FullPotsAccessorDemo.java @@ -205,7 +205,7 @@ public class FullPotsAccessorDemo @Override public CompoundTag getUpdateTag() { - return save(new CompoundTag()); + return saveWithFullMetadata(); } @Override @@ -238,11 +238,11 @@ public class FullPotsAccessorDemo } @Override - public CompoundTag save(CompoundTag tag) + protected void saveAdditional(CompoundTag tag) { //noinspection ConstantConditions tag.putString("plant", plant.getRegistryName().toString()); - return super.save(tag); + super.saveAdditional(tag); } }