summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2018-08-30 09:06:10 +1000
committermd_5 <git@md-5.net>2018-08-30 09:19:46 +1000
commit28237f03e476ca980c59a5146954649d489fe5bc (patch)
tree442382287cf222fa1e4de35fd8aa26c19ad3be2b
parent3d50da5752316cd9a6de6869d707ef5c247d82c3 (diff)
downloadbukkit-28237f03e476ca980c59a5146954649d489fe5bc.tar
bukkit-28237f03e476ca980c59a5146954649d489fe5bc.tar.gz
bukkit-28237f03e476ca980c59a5146954649d489fe5bc.tar.lz
bukkit-28237f03e476ca980c59a5146954649d489fe5bc.tar.xz
bukkit-28237f03e476ca980c59a5146954649d489fe5bc.zip
SPIGOT-4330: Improve isSimilar for legacy stacks
-rw-r--r--src/main/java/org/bukkit/inventory/ItemStack.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 2e44d4e2..c744799f 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -120,6 +120,8 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
}
if (type.isLegacy()) {
createData((byte) 0);
+ } else {
+ this.data = null;
}
}
@@ -263,7 +265,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable {
if (stack == this) {
return true;
}
- Material comparisonType = Bukkit.getUnsafe().fromLegacy(this.getType()); // This may be called from legacy item stacks, try to get the right material
+ Material comparisonType = (this.type.isLegacy()) ? Bukkit.getUnsafe().fromLegacy(this.getData(), true) : this.type; // This may be called from legacy item stacks, try to get the right material
return comparisonType == stack.getType() && getDurability() == stack.getDurability() && hasItemMeta() == stack.hasItemMeta() && (hasItemMeta() ? Bukkit.getItemFactory().equals(getItemMeta(), stack.getItemMeta()) : true);
}