summaryrefslogtreecommitdiffstats
path: root/src/main/java/org
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org')
-rw-r--r--src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
index 8ff94dff..70ea942b 100644
--- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventoryPlayer.java
@@ -89,6 +89,33 @@ public class CraftInventoryPlayer extends CraftInventory implements org.bukkit.i
}
}
+ public int clear(int id, int data) {
+ int count = 0;
+ ItemStack[] items = getContents();
+ ItemStack[] armor = getArmorContents();
+ int armorSlot = getSize();
+
+ for (int i = 0; i < items.length; i++) {
+ ItemStack item = items[i];
+ if (item == null) continue;
+ if (id > -1 && item.getTypeId() != id) continue;
+ if (data > -1 && item.getData().getData() != data) continue;
+
+ count += item.getAmount();
+ setItem(i, null);
+ }
+
+ for (ItemStack item : armor) {
+ if (item == null) continue;
+ if (id > -1 && item.getTypeId() != id) continue;
+ if (data > -1 && item.getData().getData() != data) continue;
+
+ count += item.getAmount();
+ setItem(armorSlot++, null);
+ }
+ return count;
+ }
+
@Override
public HumanEntity getHolder() {
return (HumanEntity) inventory.getOwner();