From fbe062caf5c29d153a27b5ab2d06a6e3a795ef15 Mon Sep 17 00:00:00 2001 From: Travis Watkins <amaranth@ubuntu.com> Date: Fri, 13 Dec 2013 18:52:33 -0600 Subject: [PATCH] Only filter data from block items, not all of them. Fixes BUKKIT-5047 --- src/main/java/net/minecraft/server/ItemStack.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/main/java/net/minecraft/server/ItemStack.java b/src/main/java/net/minecraft/server/ItemStack.java index 53c665b88a..b308e035c2 100644 --- a/src/main/java/net/minecraft/server/ItemStack.java +++ b/src/main/java/net/minecraft/server/ItemStack.java @@ -6,6 +6,8 @@ import java.util.Random; import net.minecraft.util.com.google.common.collect.HashMultimap; import net.minecraft.util.com.google.common.collect.Multimap; +import org.bukkit.craftbukkit.util.CraftMagicNumbers; // CraftBukkit + public final class ItemStack { public static final DecimalFormat a = new DecimalFormat("#.###"); @@ -155,13 +157,12 @@ public final class ItemStack { return; } - if (!(this.usesData() || this.getItem().usesDurability())) { // || this.id > 255)) { - i = 0; - } - - // Filter wool to avoid confusing the client - if (this.getItem() == Item.getItemOf(Blocks.WOOL)) { - i = Math.min(15, i); + // Is this a block? + if (CraftMagicNumbers.getBlock(CraftMagicNumbers.getId(this.getItem())) != Blocks.AIR) { + // If vanilla doesn't use data on it don't allow any + if (!(this.usesData() || this.getItem().usesDurability())) { + i = 0; + } } // CraftBukkit end