1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-20 03:35:51 +00:00

Fixed Block Inventories

This commit is contained in:
TheBusyBiscuit 2017-03-26 09:31:27 +02:00
parent 9f5b629c43
commit b901f885fa

View File

@ -11,7 +11,6 @@ import org.bukkit.inventory.ItemStack;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu; import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ClickAction;
public class BlockMenu extends ChestMenu { public class BlockMenu extends ChestMenu {
@ -105,26 +104,6 @@ public class BlockMenu extends ChestMenu {
return this.preset.canOpen(b, p); 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 @Override
public void replaceExistingItem(int slot, ItemStack item) { public void replaceExistingItem(int slot, ItemStack item) {
this.replaceExistingItem(slot, item, true); this.replaceExistingItem(slot, item, true);
@ -141,6 +120,11 @@ public class BlockMenu extends ChestMenu {
changes++; changes++;
} }
@Override
public ChestMenu addMenuOpeningHandler(MenuOpeningHandler handler) {
return super.addMenuOpeningHandler(new SaveHandler(this, handler));
}
public void close() { public void close() {
Iterator<HumanEntity> iterator = toInventory().getViewers().iterator(); Iterator<HumanEntity> iterator = toInventory().getViewers().iterator();
while (iterator.hasNext()) { while (iterator.hasNext()) {
@ -148,4 +132,22 @@ public class BlockMenu extends ChestMenu {
human.closeInventory(); 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++;
}
}
} }