Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 12:30:06 +01:00
Force item data to use a tag name. Fixes BUKKIT-4809
The recent Minecraft update rendered the e20e50f85083dc53cb5456254bcf5781ef750daa fix incorrect by adding a compound name to the base tag in some code. This fix changes all uses of tag changes to explicitly use a name.
Dieser Commit ist enthalten in:
Ursprung
159403e085
Commit
f4277d7105
@ -117,8 +117,8 @@ public final class ItemStack {
|
||||
}
|
||||
|
||||
if (nbttagcompound.hasKey("tag")) {
|
||||
// CraftBukkit - clear name from compound and make defensive copy as this data may be coming from the save thread
|
||||
this.tag = (NBTTagCompound) nbttagcompound.getCompound("tag").clone().setName("");
|
||||
// CraftBukkit - make defensive copy as this data may be coming from the save thread
|
||||
this.tag = (NBTTagCompound) nbttagcompound.getCompound("tag").clone();
|
||||
}
|
||||
}
|
||||
|
||||
@ -334,6 +334,11 @@ public final class ItemStack {
|
||||
}
|
||||
|
||||
public void setTag(NBTTagCompound nbttagcompound) {
|
||||
// CraftBukkit start - Set compound name to "tag," remove discrepancy
|
||||
if (nbttagcompound != null) {
|
||||
nbttagcompound.setName("tag");
|
||||
}
|
||||
// CraftBukkit end
|
||||
this.tag = nbttagcompound;
|
||||
}
|
||||
|
||||
|
@ -191,10 +191,11 @@ public final class CraftItemStack extends ItemStack {
|
||||
if (item == null) {
|
||||
return false;
|
||||
}
|
||||
if (item.tag != null) {
|
||||
return true;
|
||||
|
||||
if (item.tag == null) {
|
||||
item.setTag(new NBTTagCompound("tag"));
|
||||
}
|
||||
item.tag = new NBTTagCompound();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -350,7 +351,7 @@ public final class CraftItemStack extends ItemStack {
|
||||
return false;
|
||||
}
|
||||
|
||||
NBTTagCompound tag = new NBTTagCompound();
|
||||
NBTTagCompound tag = new NBTTagCompound("tag");
|
||||
item.setTag(tag);
|
||||
|
||||
((CraftMetaItem) itemMeta).applyToItem(tag);
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren