diff options
Diffstat (limited to 'Essentials/src/net/ess3/bukkit/BukkitItemStack.java')
-rw-r--r-- | Essentials/src/net/ess3/bukkit/BukkitItemStack.java | 62 |
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; + } +} |