summaryrefslogtreecommitdiffstats
path: root/Essentials/src/net/ess3/bukkit/BukkitItemStack.java
diff options
context:
space:
mode:
Diffstat (limited to 'Essentials/src/net/ess3/bukkit/BukkitItemStack.java')
-rw-r--r--Essentials/src/net/ess3/bukkit/BukkitItemStack.java62
1 files changed, 62 insertions, 0 deletions
diff --git a/Essentials/src/net/ess3/bukkit/BukkitItemStack.java b/Essentials/src/net/ess3/bukkit/BukkitItemStack.java
new file mode 100644
index 000000000..819cc734b
--- /dev/null
+++ b/Essentials/src/net/ess3/bukkit/BukkitItemStack.java
@@ -0,0 +1,62 @@
+package net.ess3.bukkit;
+
+import net.ess3.api.server.Enchantment;
+import net.ess3.api.server.ItemStack;
+import net.ess3.api.server.Material;
+import lombok.Delegate;
+import lombok.Getter;
+
+
+public class BukkitItemStack extends net.ess3.api.server.ItemStack
+{
+ public static class BukkitItemStackFactory implements ItemStackFactory
+ {
+ @Override
+ public ItemStack create(int id, int amount, int data)
+ {
+ return new BukkitItemStack(new org.bukkit.inventory.ItemStack(id, amount, (short)data));
+ }
+
+ @Override
+ public ItemStack clone(final ItemStack stack)
+ {
+ return new BukkitItemStack(((BukkitItemStack)stack).getItemStack().clone());
+ }
+ }
+
+
+ private interface Excludes
+ {
+ org.bukkit.Material getType();
+ }
+ @Delegate(excludes =
+ {
+ Excludes.class
+ })
+ @Getter
+ private final org.bukkit.inventory.ItemStack itemStack;
+
+ public BukkitItemStack(final org.bukkit.inventory.ItemStack itemStack)
+ {
+ super();
+ this.itemStack = itemStack;
+ }
+
+ @Override
+ public void addEnchantment(Enchantment enchantment, int level)
+ {
+ throw new UnsupportedOperationException("Not supported yet.");
+ }
+
+ @Override
+ public Material getType()
+ {
+ return Material.get(itemStack.getTypeId());
+ }
+
+ @Override
+ public boolean isAir()
+ {
+ return itemStack.getTypeId() == 0;
+ }
+}