Newer
Older
ChallengeSystem / src / main / java / de / fanta / challenges / commands / reset / ResetConfirmCommand.java
@fantahund fantahund on 16 Jul 2020 2 KB für vollkorn <3
package de.fanta.challenges.commands.reset;

import de.fanta.challenges.Challenges;
import de.fanta.challenges.utils.ChatUtil;
import de.fanta.challenges.commands.BackpackCommand;
import de.iani.cubesideutils.bukkit.commands.SubCommand;
import de.iani.cubesideutils.commands.ArgsParser;
import net.md_5.bungee.api.ChatColor;
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;

public class ResetConfirmCommand extends SubCommand {

    private final Challenges plugin;

    public ResetConfirmCommand(Challenges plugin) {
        this.plugin = plugin;
    }
    BackpackCommand backpack;

    @Override
    public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
        if ((sender instanceof Player && plugin.isEditor((Player) sender)) || sender.hasPermission("Challenges.editor.override")) {
            plugin.getTimer().stopTimer();
            plugin.getTimer().setTime(0);
            for (Player p : Bukkit.getOnlinePlayers()) {
                p.sendTitle(ChatColor.of("#0ddead") + "Server wird zurückgesetzt!", ChatColor.RED + "Bitte warte einen Moment" + ChatColor.of("#0ddead") + "." + ChatColor.AQUA + "." + ChatColor.YELLOW + ".", 10, 220, 10);
                p.performCommand("tt challenge");
            }
            plugin.getConfig().set("World_Name", Bukkit.getWorlds().get(0).getName());
            plugin.getConfig().set("World_Reset", true);
            for (String key : plugin.getConfig().getConfigurationSection("Saved_Locations").getKeys(false)) {
                plugin.getConfig().set("Saved_Locations." + key, null);
            }
            plugin.saveConfig();

            Bukkit.getScheduler().scheduleSyncDelayedTask(plugin, () -> {
                Bukkit.shutdown();
            }, 60);
        } else if (plugin.getCurrentEditor() != null) {
            ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur" + plugin.getCurrentEditor().getName() + " kann die Map zurücksetzen!");
            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;
    }
}