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

Fixed Inventory Saving

This commit is contained in:
TheBusyBiscuit 2017-03-14 16:26:17 +01:00
parent 4d519d4c8e
commit 73cdbf114b

View File

@ -3,15 +3,16 @@ package me.mrCookieSlime.Slimefun.api.inventory;
import java.io.File; import java.io.File;
import java.util.Iterator; import java.util.Iterator;
import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config;
import me.mrCookieSlime.CSCoreLibPlugin.general.Inventory.ChestMenu;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.block.Block; import org.bukkit.block.Block;
import org.bukkit.entity.HumanEntity; import org.bukkit.entity.HumanEntity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack; 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 { public class BlockMenu extends ChestMenu {
BlockMenuPreset preset; BlockMenuPreset preset;
@ -59,7 +60,10 @@ public class BlockMenu extends ChestMenu {
} }
public void save(Location l) { public void save(Location l) {
if (changes == 0) return; if (changes == 0) {
return;
}
// To force CS-CoreLib to build the Inventory // To force CS-CoreLib to build the Inventory
this.getContents(); this.getContents();
@ -101,6 +105,26 @@ 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);
@ -124,5 +148,4 @@ public class BlockMenu extends ChestMenu {
human.closeInventory(); human.closeInventory();
} }
} }
} }