package de.fanta.commands;
import de.fanta.challenges.ChatUtil;
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());
}
ChatUtil.sendNormalMessage(sender, "Du hast die maximalen HP auf " + args[1] + " gesetzt!");
}
} else if (args[0].equalsIgnoreCase("get")) {
OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(args[1]));
if (other.isOnline()) {
Player p = (Player) other;
ChatUtil.sendNormalMessage(p, p.getName() + " besitzt derzeit " + p.getHealth() + "HP!");
} else
ChatUtil.sendErrorMessage(sender, "Dieser 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);
ChatUtil.sendNormalMessage(p, "Du wurdest von " + sender.getName() + " um " + args[2] + "HP geheilt!");
} else
ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!");
}
if (args[0].equalsIgnoreCase("remove")) {
if (!(finalremhp > p.getMaxHealth()) && !(finalremhp < 0)) {
p.setHealth(finalremhp);
ChatUtil.sendNormalMessage(p, sender.getName() + " hat dir " + args[2] + "HP entfernt!");
ChatUtil.sendNormalMessage(sender, "Du hast " + p.getName() + " " + args[2] + "HP entfernt!");
} else
ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!");
}
if (args[0].equalsIgnoreCase("set")) {
if (!(Double.parseDouble(args[2]) > p.getMaxHealth()) && !(Double.parseDouble(args[2]) < 0)) {
p.setHealth(Double.parseDouble(args[2]));
ChatUtil.sendNormalMessage(p, sender.getName() + " hat deine HP auf " + args[2] + " gesetzt!");
ChatUtil.sendNormalMessage(sender, "Du hast die HP von " + p.getName() + " auf " + args[2] + " gesetzt!");
} else
ChatUtil.sendErrorMessage(sender, "Operation nicht möglich!");
}
} else
ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!");
} else {
ChatUtil.sendNormalMessage(sender, "~~~~~ HP command ~~~~~");
ChatUtil.sendNormalMessage(sender, "/HP Get <Spieler> - Erhalte die aktuelen HP eines Spielers");
ChatUtil.sendNormalMessage(sender, "/HP Add <Spieler> <Wert> - Füge einem Spieler die angegebene Zahl an Herzen hinzu");
ChatUtil.sendNormalMessage(sender, "/HP Remove <Spieler> <Wert> - Entferne einem Spieler die angegebene Zahl an Herzen");
ChatUtil.sendNormalMessage(sender, "/HP Set <Spieler> <Wert> - Setze die Herzen eines Spieler auf die angegebene Zahl");
ChatUtil.sendNormalMessage(sender, "/HP Max <Wert> - Setze die maximalen HP aller Spieler");
}
} else {
ChatUtil.sendNormalMessage(sender, "~~~~~ HP command ~~~~~");
ChatUtil.sendNormalMessage(sender, "/HP Get <Spieler> - Erhalte die aktuelen HP eines Spielers");
ChatUtil.sendNormalMessage(sender, "/HP Add <Spieler> <Wert> - Füge einem Spieler die angegebene Zahl an Herzen hinzu");
ChatUtil.sendNormalMessage(sender, "/HP Remove <Spieler> <Wert> - Entferne einem Spieler die angegebene Zahl an Herzen");
ChatUtil.sendNormalMessage(sender, "/HP Set <Spieler> <Wert> - Setze die Herzen eines Spieler auf die angegebene Zahl");
ChatUtil.sendNormalMessage(sender, "/HP Max <Wert> - Setze die maximalen HP aller Spieler");
;
}
} else
ChatUtil.sendErrorMessage(sender, "Keine Berechtigung!");
return true;
}
}