Newer
Older
ChallengeSystem / src / main / java / de / fanta / challenges / commands / hp / HPMaxCommand.java
@fantahund fantahund on 27 Jul 2020 2 KB merge to master
package de.fanta.challenges.commands.hp;

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.attribute.Attribute;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class HPMaxCommand extends SubCommand {

    private final Challenges plugin;

    public HPMaxCommand(Challenges plugin) {
        this.plugin = plugin;
    }

    @Override
    public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
        if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) {
            if (args.hasNext()) {
                double next = args.getNext(-1.0);
                if (next > 0) {
                    for (Player pp : Bukkit.getOnlinePlayers()) {
                        pp.getAttribute(Attribute.GENERIC_MAX_HEALTH).setBaseValue(next);
                        pp.setHealth(pp.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue());
                    }
                    ChatUtil.sendNormalMessage(sender, "Du hast die maximalen HP auf " + next + " gesetzt!");
                    return true;
                }
            }
        } else if (plugin.getCurrentEditor() != null) {
            ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! " + plugin.getCurrentEditor().getName() + " muss die Map bearbeiten!");
            return true;
        } 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;
        }
        return false;
    }

    @Override
    public boolean requiresPlayer() {
        return true;
    }

    @Override
    public String getUsage() {
        return "<Wert> - Setze die maximalen HP aller Spieler";
    }
}