mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-05 10:20:53 +01:00
Improve ItemStack filtering.
This commit is contained in:
parent
47b57e6bcf
commit
1c13d076af
@ -204,10 +204,14 @@ public final class ItemStack {
|
||||
public void c(NBTTagCompound nbttagcompound) {
|
||||
this.item = Item.d(nbttagcompound.getShort("id"));
|
||||
this.count = nbttagcompound.getByte("Count");
|
||||
/* CraftBukkit start - Route through setData for filtering
|
||||
this.damage = nbttagcompound.getShort("Damage");
|
||||
if (this.damage < 0) {
|
||||
this.damage = 0;
|
||||
}
|
||||
*/
|
||||
this.setData(nbttagcompound.getShort("Damage"));
|
||||
// CraftBukkit end
|
||||
|
||||
if (nbttagcompound.hasKeyOfType("tag", 10)) {
|
||||
// CraftBukkit - make defensive copy as this data may be coming from the save thread
|
||||
@ -258,6 +262,11 @@ public final class ItemStack {
|
||||
i = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// Filter invalid plant data
|
||||
if (CraftMagicNumbers.getBlock(CraftMagicNumbers.getId(this.getItem())) == Blocks.DOUBLE_PLANT && (i > 5 || i < 0)) {
|
||||
i = 0;
|
||||
}
|
||||
// CraftBukkit end
|
||||
|
||||
this.damage = i;
|
||||
@ -565,6 +574,7 @@ public final class ItemStack {
|
||||
|
||||
public void setItem(Item item) {
|
||||
this.item = item;
|
||||
this.setData(this.getData()); // CraftBukkit - Set data again to ensure it is filtered properly
|
||||
}
|
||||
|
||||
public IChatBaseComponent E() {
|
||||
|
Loading…
Reference in New Issue
Block a user