From cd436f1470570af980dbb06f45c3433b439571c3 Mon Sep 17 00:00:00 2001 From: Alex 'mcmonkey' Goodwin Date: Mon, 2 Sep 2019 10:36:00 -0700 Subject: [PATCH] remove old unused 'inventory menu' system from ancient history times --- .../utilities/inventory/InventoryMenu.java | 113 ------------------ .../inventory/InventoryMenuItem.java | 99 --------------- .../inventory/MenuCloseBehaviour.java | 13 -- 3 files changed, 225 deletions(-) delete mode 100644 plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenu.java delete mode 100644 plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenuItem.java delete mode 100644 plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/MenuCloseBehaviour.java diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenu.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenu.java deleted file mode 100644 index f0092c4785..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenu.java +++ /dev/null @@ -1,113 +0,0 @@ -package com.denizenscript.denizen.utilities.inventory; - -import com.denizenscript.denizen.nms.NMSHandler; -import org.bukkit.Bukkit; -import org.bukkit.Material; -import org.bukkit.entity.HumanEntity; -import org.bukkit.entity.Player; -import org.bukkit.event.inventory.InventoryCloseEvent; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.InventoryHolder; -import org.bukkit.inventory.ItemStack; - -public class InventoryMenu implements InventoryHolder { - public final static int ROW_SIZE = 9; - - protected InventoryMenuItem[] items; - protected Inventory inventory; - protected String title; - protected int size; - protected MenuCloseBehaviour closeBehaviour; - - public InventoryMenu(String title, int rows) { - this.title = title; - this.size = rows * ROW_SIZE; - - this.items = new InventoryMenuItem[size]; - } - - public void setMenuCloseBehaviour(MenuCloseBehaviour menuCloseBehaviour) { - this.closeBehaviour = menuCloseBehaviour; - - } - - public MenuCloseBehaviour getMenuCloseBehaviour() { - return closeBehaviour; - } - - public Inventory getInventory() { - if (inventory == null) { - inventory = Bukkit.createInventory(this, size, title); - } - - return inventory; - } - - public boolean addItem(InventoryMenuItem item, int x, int y) { - return addItem(item, y * ROW_SIZE + x); - } - - public boolean addItem(InventoryMenuItem item, int index) { - ItemStack slot = getInventory().getItem(index); - if (slot != null && slot.getType() != Material.AIR) { - return false; - } - - getInventory().setItem(index, item.getItemStack()); - items[index] = item; - item.setIndex(index); - item.addToMenu(this); - return true; - } - - public void selectItem(Player player, int index) { - selectItem(player, index, false, false); - } - - public void selectItem(Player player, int index, boolean right, boolean shift) { - InventoryMenuItem item = items[index]; - if (item != null) { - item.onClick(player, right, shift); - } - } - - public void openMenu(Player player) { - if (getInventory().getViewers().contains(player)) { - throw new IllegalArgumentException(player.getName() + " is already viewing " + NMSHandler.getInstance().getTitle(getInventory())); - } - - player.openInventory(getInventory()); - } - - public void updateMenu() { - for (HumanEntity entity : getInventory().getViewers()) { - ((Player) entity).updateInventory(); - } - } - - public void closeMenu(Player player) { - if (getInventory().getViewers().contains(player)) { - InventoryCloseEvent event = new InventoryCloseEvent(player.getOpenInventory()); - Bukkit.getPluginManager().callEvent(event); - player.closeInventory(); - } - } - - /* -------- General override functions -------- */ - @Override - protected InventoryMenu clone() { // TODO: if not using super.clone, should this be a separate method? - InventoryMenu c = new InventoryMenu(title, size); - c.setMenuCloseBehaviour(closeBehaviour); - - for (int i = 0; i < items.length; i++) { - addItem(items[i], i); - } - - return c; - } - - @Override - public String toString() { - return getClass().getSimpleName() + "{title=" + title + "; size=" + size + "}"; - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenuItem.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenuItem.java deleted file mode 100644 index b751d37c8e..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/InventoryMenuItem.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.denizenscript.denizen.utilities.inventory; - -import com.denizenscript.denizen.utilities.Utilities; -import org.bukkit.Material; -import org.bukkit.entity.Player; -import org.bukkit.inventory.ItemStack; -import org.bukkit.inventory.meta.ItemMeta; -import org.bukkit.material.MaterialData; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public abstract class InventoryMenuItem { - protected InventoryMenu menu; - protected int index; - protected ItemStack item; - - public InventoryMenuItem(ItemStack item) { - this.item = item; - } - - public InventoryMenuItem(String text) { - this(text, new MaterialData(Material.PAPER)); - } - - public InventoryMenuItem(String text, MaterialData icon) { - this(text, icon, 1); - } - - public InventoryMenuItem(String text, MaterialData icon, int amount) { - item = new ItemStack(icon.getItemType(), 1, icon.getData()); - - ItemMeta meta = item.getItemMeta(); - meta.setDisplayName(text); - item.setItemMeta(meta); - - item.setAmount(amount); - } - - /** - * Called when a player clicks on a button in a menu - * - * @param player The player clicking the button - * @param isRightClick True if the right mouse button has been pressed - * @param isShiftClick True if the shift key has been pressed - */ - public abstract void onClick(Player player, boolean isRightClick, boolean isShiftClick); - - protected void addToMenu(InventoryMenu menu) { - this.menu = menu; - } - - protected void removeFromMenu(InventoryMenu menu) { - if (this.menu == menu) { - this.menu = null; - } - } - - public InventoryMenu getMenu() { - return menu; - } - - public int getIndex() { - return index; - } - - public void setIndex(int i) { - index = i; - } - - public int getAmount() { - return item.getAmount(); - } - - public MaterialData getIcon() { - return item.getData(); - } - - public String getText() { - return item.getItemMeta().getDisplayName(); - } - - public void setDescriptions(String... lines) { - ItemMeta meta = item.getItemMeta(); - List lore = new ArrayList<>(); - - for (String s : lines) { - lore.addAll(Arrays.asList(Utilities.wrapWords(s, 24))); - } - - meta.setLore(lore); - item.setItemMeta(meta); - } - - protected ItemStack getItemStack() { - return item; - } -} diff --git a/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/MenuCloseBehaviour.java b/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/MenuCloseBehaviour.java deleted file mode 100644 index 31115d6612..0000000000 --- a/plugin/src/main/java/com/denizenscript/denizen/utilities/inventory/MenuCloseBehaviour.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.denizenscript.denizen.utilities.inventory; - -import org.bukkit.entity.Player; - -public interface MenuCloseBehaviour { - - /** - * Called when a player closes a menu - * - * @param player The player closing the menu - */ - void onClose(Player player); -}