SPIGOT-7393: Fix new tile entities not loading Bukkit's PersistentDataContainer

This commit is contained in:
Parker Hawke 2023-06-15 20:25:35 +10:00 committed by md_5
parent ad6d0cffbe
commit 9a21b0b89e
No known key found for this signature in database
GPG Key ID: E8E901AC7C617C11
3 changed files with 24 additions and 3 deletions

View File

@ -25,3 +25,11 @@
this.item = ItemStack.EMPTY; this.item = ItemStack.EMPTY;
} }
@@ -230,6 +239,7 @@
@Override
public void load(NBTTagCompound nbttagcompound) {
+ super.load(nbttagcompound); // CraftBukkit - SPIGOT-7393: Load super Bukkit data
if (!this.tryLoadLootTable(nbttagcompound) && nbttagcompound.contains("item")) {
this.item = ItemStack.of(nbttagcompound.getCompound("item"));
}

View File

@ -55,7 +55,15 @@
public ChiseledBookShelfBlockEntity(BlockPosition blockposition, IBlockData iblockdata) { public ChiseledBookShelfBlockEntity(BlockPosition blockposition, IBlockData iblockdata) {
super(TileEntityTypes.CHISELED_BOOKSHELF, blockposition, iblockdata); super(TileEntityTypes.CHISELED_BOOKSHELF, blockposition, iblockdata);
@@ -106,7 +148,7 @@ @@ -50,6 +92,7 @@
@Override
public void load(NBTTagCompound nbttagcompound) {
+ super.load(nbttagcompound); // CraftBukkit - SPIGOT-7393: Load super Bukkit data
this.items.clear();
ContainerUtil.loadAllItems(nbttagcompound, this.items);
this.lastInteractedSlot = nbttagcompound.getInt("last_interacted_slot");
@@ -106,7 +149,7 @@
public void setItem(int i, ItemStack itemstack) { public void setItem(int i, ItemStack itemstack) {
if (itemstack.is(TagsItem.BOOKSHELF_BOOKS)) { if (itemstack.is(TagsItem.BOOKSHELF_BOOKS)) {
this.items.set(i, itemstack); this.items.set(i, itemstack);
@ -64,7 +72,7 @@
} }
} }
@@ -120,7 +162,7 @@ @@ -120,7 +163,7 @@
@Override @Override
public int getMaxStackSize() { public int getMaxStackSize() {

View File

@ -1,6 +1,6 @@
--- a/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java --- a/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
+++ b/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java +++ b/net/minecraft/world/level/block/entity/SculkCatalystBlockEntity.java
@@ -35,7 +35,9 @@ @@ -35,11 +35,14 @@
} }
public static void serverTick(World world, BlockPosition blockposition, IBlockData iblockdata, SculkCatalystBlockEntity sculkcatalystblockentity) { public static void serverTick(World world, BlockPosition blockposition, IBlockData iblockdata, SculkCatalystBlockEntity sculkcatalystblockentity) {
@ -10,3 +10,8 @@
} }
@Override @Override
public void load(NBTTagCompound nbttagcompound) {
+ super.load(nbttagcompound); // CraftBukkit - SPIGOT-7393: Load super Bukkit data
this.catalystListener.sculkSpreader.load(nbttagcompound);
}