From 28237f03e476ca980c59a5146954649d489fe5bc Mon Sep 17 00:00:00 2001 From: md_5 Date: Thu, 30 Aug 2018 09:06:10 +1000 Subject: SPIGOT-4330: Improve isSimilar for legacy stacks --- src/main/java/org/bukkit/inventory/ItemStack.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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); } -- cgit v1.2.3