package eu.thog.uhcrun.gui; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.event.inventory.ClickType; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import java.util.Arrays; import java.util.TreeMap; /** * This file is a part of the UHCRun Project CodeBase * Created by Thog * (C) Copyright Thomas Guillemard 2016 * All rights reserved. */ public abstract class Gui { protected TreeMap<Integer, String> actions = new TreeMap<>(); protected Inventory inventory; public abstract void display(Player player); public void onClick(Player player, ItemStack stack, String action, ClickType clickType) { onClick(player, stack, action); } public abstract void onClick(Player player, ItemStack stack, String action); public Inventory getInventory() { return inventory; } public String getAction(int slot) { if (!actions.containsKey(slot)) { return null; } return actions.get(slot); } public void setSlotData(Inventory inv, String name, Material material, int slot, String[] description, String action) { setSlotData(inv, name, new ItemStack(material, 1), slot, description, action); } public void setSlotData(String name, Material material, int slot, String[] description, String action) { setSlotData(inventory, name, new ItemStack(material, 1), slot, description, action); } public void setSlotData(String name, ItemStack item, int slot, String[] description, String action) { setSlotData(inventory, name, item, slot, description, action); } public void setSlotData(Inventory inv, String name, ItemStack item, int slot, String[] description, String action) { actions.put(slot, action); ItemMeta meta = item.getItemMeta(); meta.setDisplayName(name); if (description != null) { meta.setLore(Arrays.asList(description)); } item.setItemMeta(meta); inv.setItem(slot, item); } }