Newer
Older
ChallengeSystem / src / main / java / net / brennholz / challenges / Backpack.java
@fantahund fantahund on 27 Jan 2020 2 KB Rucksack und Explode
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);
		}
	}
}