Mirror von
https://github.com/PaperMC/Paper.git
synchronisiert 2024-12-18 20:40:08 +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")) {
|
if (nbttagcompound.hasKey("tag")) {
|
||||||
// CraftBukkit - clear name from compound and make defensive copy as this data may be coming from the save thread
|
// CraftBukkit - make defensive copy as this data may be coming from the save thread
|
||||||
this.tag = (NBTTagCompound) nbttagcompound.getCompound("tag").clone().setName("");
|
this.tag = (NBTTagCompound) nbttagcompound.getCompound("tag").clone();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -334,6 +334,11 @@ public final class ItemStack {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void setTag(NBTTagCompound nbttagcompound) {
|
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;
|
this.tag = nbttagcompound;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -191,10 +191,11 @@ public final class CraftItemStack extends ItemStack {
|
|||||||
if (item == null) {
|
if (item == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (item.tag != null) {
|
|
||||||
return true;
|
if (item.tag == null) {
|
||||||
|
item.setTag(new NBTTagCompound("tag"));
|
||||||
}
|
}
|
||||||
item.tag = new NBTTagCompound();
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,7 +351,7 @@ public final class CraftItemStack extends ItemStack {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
NBTTagCompound tag = new NBTTagCompound();
|
NBTTagCompound tag = new NBTTagCompound("tag");
|
||||||
item.setTag(tag);
|
item.setTag(tag);
|
||||||
|
|
||||||
((CraftMetaItem) itemMeta).applyToItem(tag);
|
((CraftMetaItem) itemMeta).applyToItem(tag);
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren