package de.fanta.challenges.commands.revive;
import de.fanta.challenges.Challenges;
import de.fanta.challenges.utils.ChatUtil;
import de.iani.cubesideutils.bukkit.commands.SubCommand;
import de.iani.cubesideutils.commands.ArgsParser;
import org.bukkit.Bukkit;
import org.bukkit.GameMode;
import org.bukkit.OfflinePlayer;
import org.bukkit.attribute.Attribute;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class ReviveCommand extends SubCommand {
private final Challenges plugin;
public ReviveCommand(Challenges plugin) {
this.plugin = plugin;
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String lable, String s1, ArgsParser args) {
if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) {
if (!args.hasNext()) {
ChatUtil.sendWarningMessage(sender, "Benutze: /revive <Spieler|All>");
return true;
}
String next = args.next();
if (next.equalsIgnoreCase("all")) {
plugin.getTimer().setMlgActive(false);
for (Player p : Bukkit.getOnlinePlayers()) {
p.setHealth(p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
p.setGameMode(GameMode.SURVIVAL);
}
ChatUtil.sendBrodcastMessage("Alle Spieler wurden wiederbelebt! Es kann weiter gehen!");
} else {
OfflinePlayer other = (Bukkit.getServer().getOfflinePlayer(next));
if (other.isOnline()) {
Player p = (Player) other;
p.setHealth(p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
p.setGameMode(GameMode.SURVIVAL);
ChatUtil.sendBrodcastMessage(p.getName() + " wurde von " + sender.getName() + " wiederbelebt!");
} else {
ChatUtil.sendErrorMessage(sender, "Dieser Spieler ist nicht online!");
}
}
} else {
if (plugin.getCurrentEditor() != null) {
if (plugin.getCurrentEditor() != sender) {
ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur " + plugin.getCurrentEditor().getName() + " kann Spieler wiederbeleben!");
}
} else {
ChatUtil.sendErrorMessage(sender, "Aktuell gibt es keinen Editor!");
ChatUtil.sendErrorMessage(sender, "Um selbst Editor zu werden, musst du dir im Freebuild VIP kaufen!");
}
}
return true;
}
}