Newer
Older
ChallengeSystem / src / main / java / net / brennholz / challenges / HP_Command.java
@fantahund fantahund on 14 Jan 2020 4 KB Logblock Cleanup
package net.brennholz.challenges;



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

public class HP_Command implements CommandExecutor {

	@SuppressWarnings("deprecation")
	@Override
	public boolean onCommand(CommandSender sender, Command cmd, String lable, String[] args) {
		if (sender.hasPermission("challenges.hp.modify")) {
			if (args.length >= 2) {
				if (args[0].equalsIgnoreCase("max")) {
					if (Double.parseDouble(args[1]) > 0) {
						for (Player pp : Bukkit.getOnlinePlayers()) {
							pp.setMaxHealth(Double.parseDouble(args[1]));
							pp.setHealth(pp.getMaxHealth());
						}
						sender.sendMessage("§6Du hast die maximalen HP auf §c" + args[1] + " §6gesetzt!");
					}
				} else if (args[0].equalsIgnoreCase("get")) {
					OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1]));
					if (other.isOnline()) {
						Player p = (Player) other;
						sender.sendMessage("§6" + p.getName() + " §ebesitzt derzeit §6" + p.getHealth() + "HP§e!");
					} else
						sender.sendMessage("§cDieser Spieler ist nicht online!");
				} else if (args.length >= 3) {
					OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1]));
					if (other.isOnline()) {
						Player p = (Player) other;
						double finaladdhp = p.getHealth() + Double.parseDouble(args[2]);
						double finalremhp = p.getHealth() - Double.parseDouble(args[2]);
						if (args[0].equalsIgnoreCase("add")) {
							if (!(finaladdhp > p.getMaxHealth()) && !(finaladdhp < 0)) {
								p.setHealth(finaladdhp);
								p.sendMessage("§aDu wurdest von §b" + sender.getName() + " §aum §c" + args[2]
										+ "HP §ageheilt!");
								sender.sendMessage(
										"§aDu hast §b" + p.getName() + " §aum §c" + args[2] + "HP §ageheilt!");
							} else
								sender.sendMessage("§cUnm§gliche Operation");
						}
						if (args[0].equalsIgnoreCase("remove")) {
							if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) {
								p.setHealth(finalremhp);
								p.sendMessage("§4" + sender.getName() + " §chat dir §4" + args[2] + "HP §centfernt!");
								sender.sendMessage("§cDu hast §4" + p.getName() + " " + args[2] + "HP §centfernt!");
							} else
								sender.sendMessage("§cUnmögliche Operation!");
						}
						if (args[0].equalsIgnoreCase("set")) {
							if (!(Double.parseDouble(args[2]) > p.getMaxHealth())
									&& !(Double.parseDouble(args[2]) < 0)) {
								p.setHealth(Double.parseDouble(args[2]));
								p.sendMessage(
										"§6" + sender.getName() + " §ehat deine HP auf §6" + args[2] + " §egesetzt!");
								sender.sendMessage("§eDu hast die HP von §6" + p.getName() + " §eauf §6" + args[2]
										+ " §egesetzt!");
							} else
								sender.sendMessage("§cUnmögliche Operation");
						}
					} else
						sender.sendMessage("§cDieser Spieler ist nicht online!");
				} else {
					sender.sendMessage("§c~~~~~ §6HP command §c~~~~~");
					sender.sendMessage("§c/HP Get <Spieler> §4- §6Erhalte die aktuelen HP eines Spielers");
					sender.sendMessage(
							"§c/HP Add <Spieler> <Wert> §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu");
					sender.sendMessage(
							"§c/HP Remove <Spieler> <Wert> §4- §6Entferne einem Spieler die angegebene Zahl an Herzen");
					sender.sendMessage(
							"§c/HP Set <Spieler> <Wert> §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl");
					sender.sendMessage("§c/HP Max <Wert> §4- §6Setze die maximalen HP aller Spieler");
				}
			} else {
				sender.sendMessage("§c~~~~~ §6HP command §c~~~~~");
				sender.sendMessage("§c/HP Get <Spieler> §4- §6Erhalte die aktuelen HP eines Spielers");
				sender.sendMessage(
						"§c/HP Add <Spieler> <Wert> §4- §6Füge einem Spieler die angegebene Zahl an Herzen hinzu");
				sender.sendMessage(
						"§c/HP Remove <Spieler> <Wert> §4- §6Entferne einem Spieler die angegebene Zahl an Herzen");
				sender.sendMessage(
						"§c/HP Set <Spieler> <Wert> §4- §6Setze die Herzen eines Spieler auf die angegebene Zahl");
				sender.sendMessage("§c/HP Max <Wert> §4- §6Setze die maximalen HP aller Spieler");
			}
		} else
			sender.sendMessage("§cDu hast hierfür keine Berechtigung");
		return true;
	}
}