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:
parent
9f5b629c43
commit
b901f885fa
@ -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<HumanEntity> 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++;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user