Newer
Older
ChallengeSystem / src / main / java / de / fanta / challenges / commands / timer / TimerStartCommand.java
@fanta fanta on 4 Apr 2023 2 KB more Folia
package de.fanta.challenges.commands.timer;

import de.fanta.challenges.Challenges;
import de.fanta.challenges.ServerType;
import de.fanta.challenges.utils.ChatUtil;
import de.fanta.challenges.utils.Config;
import de.iani.cubesideutils.bukkit.commands.SubCommand;
import de.iani.cubesideutils.commands.ArgsParser;
import org.bukkit.Bukkit;
import org.bukkit.GameRule;
import org.bukkit.World;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class TimerStartCommand extends SubCommand {

    private final Challenges plugin;

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

    @Override
    public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
        if (!(sender instanceof Player)) {
            ChatUtil.sendErrorMessage(sender, "You are not a Player :>");
            return true;
        }
        if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) {
            if (!plugin.getTimer().isRunning()) {
                plugin.setDayLightCircle(true);
                plugin.getTimer().startTimer();
                if (!Config.getBoolean("editsettings")) {
                    if (!plugin.isCubesideStatisticsInstalled()) {
                        return true;
                    }
                    plugin.getStatistics().addSpeedRunPlayed();
                }
                ChatUtil.sendBrodcastMessage(ChatUtil.GREEN + "Der Timer wird fortgesetzt!");
            } else {
                ChatUtil.sendWarningMessage(sender, "Der Timer läuft bereits!");
            }
        } 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 true;
    }

}