package be.isach.ultracosmetics.menu.menus; import be.isach.ultracosmetics.UltraCosmetics; import be.isach.ultracosmetics.cosmetics.Category; import be.isach.ultracosmetics.cosmetics.Cosmetic; import be.isach.ultracosmetics.cosmetics.type.HatType; import be.isach.ultracosmetics.menu.CosmeticMenu; import be.isach.ultracosmetics.player.UltraPlayer; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import java.util.List; /** * Hat {@link be.isach.ultracosmetics.menu.Menu Menu}. * * @author iSach * @since 08-23-2016 */ public class MenuHats extends CosmeticMenu<HatType> { public MenuHats(UltraCosmetics ultraCosmetics) { super(ultraCosmetics, Category.HATS); } @Override protected void putItems(Inventory inventory, UltraPlayer ultraPlayer, int page) { } @Override public List<HatType> enabled() { return HatType.enabled(); } @Override protected ItemStack filterItem(ItemStack itemStack, HatType cosmeticType, UltraPlayer player) { ItemMeta itemMeta = itemStack.getItemMeta(); itemStack = cosmeticType.getItemStack().clone(); ItemMeta other = itemStack.getItemMeta().clone(); other.setDisplayName(itemMeta.getDisplayName()); other.setLore(itemMeta.getLore()); itemStack.setItemMeta(other); return itemStack; } @Override protected void toggleOn(UltraPlayer ultraPlayer, HatType hatType, UltraCosmetics ultraCosmetics) { hatType.equip(ultraPlayer, ultraCosmetics); } @Override protected void toggleOff(UltraPlayer ultraPlayer) { ultraPlayer.removeHat(); } @Override protected Cosmetic getCosmetic(UltraPlayer ultraPlayer) { return ultraPlayer.getCurrentHat(); } }