Newer
Older
ChallengeSystem / src / main / java / de / fanta / challenges / commands / ResetCommand.java
@fantahund fantahund on 25 Jun 2020 2 KB Update Timer
package de.fanta.challenges.commands;

import de.fanta.challenges.Challenges;
import de.fanta.challenges.ChatUtil;
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.command.ConsoleCommandSender;
import org.bukkit.entity.Player;

public class ResetCommand extends SubCommand {

    private final Challenges plugin;

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

    @Override
    public boolean onCommand(CommandSender sender, Command command, String alias, String commandString, ArgsParser args) {
        if (plugin.isEditor((Player) sender) || sender.hasPermission("Challenges.editor.override")) {
            plugin.getTimer().stopTimer();
            plugin.getTimer().setTime(0);
            for (Player p : Bukkit.getOnlinePlayers()) {
                p.sendTitle(ChatColor.GREEN + "Server wird zurückgesetzt!", ChatColor.RED + "Bitte warte einen Moment" + ChatColor.GREEN + "." + ChatColor.AQUA + "." + ChatColor.YELLOW + ".", 10, 220, 10);
            }
            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, () -> {
                for (Player p : Bukkit.getOnlinePlayers()) {
                    p.kickPlayer(ChatColor.RED + "Welt wird zurückgesetzt!\n" + ChatColor.RED + "Bitte warte einen Moment...");
                }
                Bukkit.shutdown();
            }, 60);
        } else {
            ChatUtil.sendErrorMessage(sender, "Du bist kein Editor! Nur" + plugin.getCurrentEditor().getName() + " kann die Map zurücksetzen!");
        }
        return true;
    }
}