package com.nisovin.magicspells.materials; import org.bukkit.Material; import org.bukkit.inventory.ItemStack; import org.bukkit.material.MaterialData; public class MagicItemMaterial extends MagicMaterial { Material type; MaterialData matData; short duraData; public MagicItemMaterial(Material type, short data) { this.type = type; this.duraData = data; } public MagicItemMaterial(MaterialData data) { type = data.getItemType(); matData = data; } public short getDurability() { return duraData; } @Override public Material getMaterial() { return type; } @Override public MaterialData getMaterialData() { if (matData != null) { return matData; } else { return new MaterialData(type); } } @Override public ItemStack toItemStack(int quantity) { MaterialData matData = getMaterialData(); if (matData != null) { return matData.toItemStack(quantity); } return new ItemStack(getMaterial(), quantity, getDurability()); } @Override public boolean equals(ItemStack item) { if (matData != null) { ItemStack i = matData.toItemStack(); return i.getType() == item.getType() && i.getDurability() == item.getDurability(); } else { return type == item.getType() && duraData == item.getDurability(); } } }