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.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++;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user