diff --git a/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java b/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java index 7bb5168fd..7fe4a0aed 100644 --- a/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java +++ b/src/me/mrCookieSlime/Slimefun/api/inventory/BlockMenu.java @@ -11,7 +11,6 @@ import org.bukkit.inventory.ItemStack; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu; -import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction; public class BlockMenu extends ChestMenu { @@ -105,26 +104,6 @@ public class BlockMenu extends ChestMenu { return this.preset.canOpen(b, p); } - @Override - public ChestMenu addItem(int slot, ItemStack item, MenuClickHandler handler) { - addMenuClickHandler(slot, handler); - return super.addItem(slot, item); - } - - @Override - public ChestMenu addMenuClickHandler(int slot, final MenuClickHandler handler) { - MenuClickHandler ch = new MenuClickHandler() { - - @Override - public boolean onClick(Player p, int slot, ItemStack stack, ClickAction action) { - changes++; - return handler.onClick(p, slot, stack, action); - } - }; - - return super.addMenuClickHandler(slot, ch); - } - @Override public void replaceExistingItem(int slot, ItemStack item) { this.replaceExistingItem(slot, item, true); @@ -141,6 +120,11 @@ public class BlockMenu extends ChestMenu { changes++; } + @Override + public ChestMenu addMenuOpeningHandler(MenuOpeningHandler handler) { + return super.addMenuOpeningHandler(new SaveHandler(this, handler)); + } + public void close() { Iterator iterator = toInventory().getViewers().iterator(); while (iterator.hasNext()) { @@ -148,4 +132,22 @@ public class BlockMenu extends ChestMenu { human.closeInventory(); } } + + public class SaveHandler implements MenuOpeningHandler { + + BlockMenu menu; + MenuOpeningHandler handler; + + public SaveHandler(BlockMenu menu, MenuOpeningHandler handler) { + this.handler = handler; + this.menu = menu; + } + + @Override + public void onOpen(Player p) { + handler.onOpen(p); + menu.changes++; + } + + } }