package net.brennholz.challenges;
import java.util.Iterator;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.Material;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.MemorySection;
import org.bukkit.entity.Player;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;
public class Backpack implements CommandExecutor {
private Challenges chl = Challenges.getplugin();
public static Inventory Backpack = Bukkit.createInventory(null, 54, "ยง6Backpack");
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
if (sender instanceof Player) {
Player p = (Player) sender;
if (p.hasPermission("challenges.backpack")) {
p.openInventory(Backpack);
} else {
p.sendMessage("hast hierfkeine Berechtigung");
}
} else {
sender.sendMessage("Konsolenbefehl!");
}
return true;
}
public void clearConfig() {
Iterator<?> var2 = this.chl.getBackpackConfig().getKeys(false).iterator();
while (var2.hasNext()) {
String main_path = (String) var2.next();
this.chl.getBackpackConfig().set(main_path, null);
}
}
public void saveInventoryToConfig() {
clearConfig();
int slot = 0;
for (; slot < Backpack.getSize(); slot++) {
ItemStack stack = Backpack.getItem(slot);
if (stack != null && stack.getType() != Material.AIR)
this.chl.getBackpackConfig().set(String.valueOf(slot), stack.serialize());
}
}
@SuppressWarnings("rawtypes")
public void loadInventoryFromConfig() {
Iterator<?> var2 = this.chl.getBackpackConfig().getValues(false).entrySet().iterator();
while (var2.hasNext()) {
int slot;
Map.Entry entry = (Map.Entry) var2.next();
try {
slot = Integer.parseInt((String) entry.getKey());
} catch (NumberFormatException var6) {
this.chl.getServer().broadcastMessage("Fehler! Slot: " + (String) entry.getKey());
continue;
}
if (slot >= Backpack.getSize()) {
this.chl.getServer().broadcastMessage("" + slot + " befindet sich audes Inventars!");
continue;
}
MemorySection memorySection = (MemorySection) entry.getValue();
ItemStack deserialized = ItemStack.deserialize(memorySection.getValues(false));
Backpack.setItem(slot, deserialized);
}
}
}