package net.brennholz.challenges;

import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class Settings_Command implements CommandExecutor {

	private Challenges chl = Challenges.getplugin();

	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
		if (sender instanceof Player) {
			Player p = (Player) sender;
			if (args.length == 0) {
				if (p.hasPermission("challenges.settings.view")) {
					chl.createGUI(p);
				} else {
					p.sendMessage("hast hierfkeine Berechtigung");
				}
			} else if (args.length == 1) {
				if (args[0].equalsIgnoreCase("get")) {
					if (p.hasPermission("challenges.settings.get")) {
						p.sendMessage("Einstellungen");
						p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable"));
						p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading"));
						p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall"));
						p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak"));
						p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getInt("sneakdmg"));
						p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops"));
						p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg"));
						p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife"));
						p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat"));
						p.sendMessage("=" + chl.getConfig().getBoolean("respawn"));
					} else {
						p.sendMessage("hast hierfkeine Berechtigung");
					}
				} else {
					p.sendMessage("/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]");
				}
			} else if (args.length >= 2) {
				if (p.hasPermission("challenges.settings.modify")) {
					Boolean Bwert = Boolean.valueOf(Boolean.parseBoolean(args[1]));
					if (args[0].equalsIgnoreCase("crafting")) {
						chl.getConfig().set("craftingtable", Bwert);
						chl.saveConfig();
						p.sendMessage("Crafting =" + chl.getConfig().getBoolean("craftingtable"));
					} else if (args[0].equalsIgnoreCase("deathfall")) {
						chl.getConfig().set("deathonfall", Bwert);
						chl.saveConfig();
						p.sendMessage("bei Fallschaden =" + chl.getConfig().getBoolean("deathonfall"));
					} else if (args[0].equalsIgnoreCase("trading")) {
						chl.getConfig().set("allowtrading", Bwert);
						chl.saveConfig();
						p.sendMessage("Handeln =" + chl.getConfig().getBoolean("allowtrading"));
					} else if (args[0].equalsIgnoreCase("dmgonsneak")) {
						chl.getConfig().set("damageonsneak", Bwert);
						chl.saveConfig();
						p.sendMessage("bei Schleichen =" + chl.getConfig().getBoolean("damageonsneak"));
					} else if (args[0].equalsIgnoreCase("sneakdmg")) {
						Double Dwert = Double.valueOf(Double.parseDouble(args[1]));
						chl.getConfig().set("sneakdmg", Dwert);
						chl.saveConfig();
						p.sendMessage("Schaden bei Schleichen =" + chl.getConfig().getString("sneakdmg"));
					} else if (args[0].equalsIgnoreCase("rnddrops")) {
						chl.getConfig().set("rnddrops", Bwert);
						chl.saveConfig();
						p.sendMessage("Drops =" + chl.getConfig().getBoolean("rnddrops"));
					} else if (args[0].equalsIgnoreCase("sharedmg")) {
						chl.getConfig().set("sharehp", Bwert);
						chl.saveConfig();
						p.sendMessage("Schaden =" + chl.getConfig().getBoolean("sharedmg"));
					} else if (args[0].equalsIgnoreCase("respawn")) {
						chl.getConfig().set("respawn", Bwert);
						chl.saveConfig();
						p.sendMessage("=" + chl.getConfig().getBoolean("respawn"));
					} else if (args[0].equalsIgnoreCase("onelife")) {
						chl.getConfig().set("onelife", Bwert);
						chl.saveConfig();
						p.sendMessage("Leben falle =" + chl.getConfig().getBoolean("onelife"));
					} else if (args[0].equalsIgnoreCase("chatdmg")) {
						chl.getConfig().set("dmginchat", Bwert);
						chl.saveConfig();
						p.sendMessage("in Chat =" + chl.getConfig().getBoolean("dmginchat"));
					} else {
						p.sendMessage("Parameter!");
					}
				} else {
					p.sendMessage("hast hierfkeine Berechtigung");
				}
			} else {
				p.sendMessage(
						"/settings Get/Crafting/Trading/DeathFall/DMGOnSneak/SneakDMG/RndDrops/ShareDMG/Respawn/OneLife/ChatDMG [True/False]");
			}
		} else {
			sender.sendMessage("Konsolenbefehl!");
		}
		return true;
	}
}
