package net.shockverse.survivalgames.extras; import net.shockverse.survivalgames.core.Tools; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.Listener; import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; /** * @description Handles basic custom inventory menus. Advanced menu framework / API in next update * @author LegitModern */ public class InventoryMenu implements Listener { private String inventoryTitle; private int inventoryRows; private Inventory inventory; public InventoryMenu(String title, int rows) { this.inventoryTitle = Tools.parseColors(title); this.inventoryRows = rows * 9; this.inventory = Bukkit.createInventory(null, this.getRows(), this.getTitle()); } /** * Get the title of the inventory * * @return Inventory title */ public String getTitle() { return this.inventoryTitle; } /** * Get the rows of the inventory * * @return Inventory rows */ public int getRows() { return inventoryRows; } /** * Get the inventory * * @return inventory */ public Inventory getInventory() { return inventory; } /** * Add an item to the inventory * * @param itemStack ItemStack to add to inventory * @return this */ public InventoryMenu addItem(ItemStack itemStack) { getInventory().addItem(itemStack); return this; } /** * Set an item in the inventory * * @param slot ItemStack slot to add to inventory * @param itemStack ItemStack to add to inventory * @return this */ public InventoryMenu setItem(int slot, ItemStack itemStack) { getInventory().setItem(slot, itemStack); return this; } /** * Open the inventory for a player * * @param player Player to open inventory for */ public void open(Player player) { player.openInventory(getInventory()); } }