add disable subcommand
This commit is contained in:
parent
a717a63338
commit
d6044564b1
@ -3,6 +3,7 @@ package me.xginko.villageroptimizer.commands.villageroptimizer;
|
|||||||
import me.xginko.villageroptimizer.VillagerOptimizer;
|
import me.xginko.villageroptimizer.VillagerOptimizer;
|
||||||
import me.xginko.villageroptimizer.commands.SubCommand;
|
import me.xginko.villageroptimizer.commands.SubCommand;
|
||||||
import me.xginko.villageroptimizer.commands.VillagerOptimizerCommand;
|
import me.xginko.villageroptimizer.commands.VillagerOptimizerCommand;
|
||||||
|
import me.xginko.villageroptimizer.commands.villageroptimizer.subcommands.DisableSubCmd;
|
||||||
import me.xginko.villageroptimizer.commands.villageroptimizer.subcommands.ReloadSubCmd;
|
import me.xginko.villageroptimizer.commands.villageroptimizer.subcommands.ReloadSubCmd;
|
||||||
import me.xginko.villageroptimizer.commands.villageroptimizer.subcommands.VersionSubCmd;
|
import me.xginko.villageroptimizer.commands.villageroptimizer.subcommands.VersionSubCmd;
|
||||||
import me.xginko.villageroptimizer.enums.Permissions;
|
import me.xginko.villageroptimizer.enums.Permissions;
|
||||||
@ -19,12 +20,13 @@ import java.util.List;
|
|||||||
|
|
||||||
public class VillagerOptimizerCmd implements TabCompleter, VillagerOptimizerCommand {
|
public class VillagerOptimizerCmd implements TabCompleter, VillagerOptimizerCommand {
|
||||||
|
|
||||||
private final List<SubCommand> subCommands = new ArrayList<>(2);
|
private final List<SubCommand> subCommands = new ArrayList<>(3);
|
||||||
private final List<String> tabCompleter = new ArrayList<>(2);
|
private final List<String> tabCompleter = new ArrayList<>(3);
|
||||||
|
|
||||||
public VillagerOptimizerCmd() {
|
public VillagerOptimizerCmd() {
|
||||||
subCommands.add(new ReloadSubCmd());
|
subCommands.add(new ReloadSubCmd());
|
||||||
subCommands.add(new VersionSubCmd());
|
subCommands.add(new VersionSubCmd());
|
||||||
|
subCommands.add(new DisableSubCmd());
|
||||||
subCommands.forEach(subCommand -> tabCompleter.add(subCommand.getLabel()));
|
subCommands.forEach(subCommand -> tabCompleter.add(subCommand.getLabel()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,42 @@
|
|||||||
|
package me.xginko.villageroptimizer.commands.villageroptimizer.subcommands;
|
||||||
|
|
||||||
|
import me.xginko.villageroptimizer.VillagerOptimizer;
|
||||||
|
import me.xginko.villageroptimizer.commands.SubCommand;
|
||||||
|
import me.xginko.villageroptimizer.enums.Permissions;
|
||||||
|
import me.xginko.villageroptimizer.modules.VillagerOptimizerModule;
|
||||||
|
import net.kyori.adventure.text.Component;
|
||||||
|
import net.kyori.adventure.text.TextComponent;
|
||||||
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
public class DisableSubCmd extends SubCommand {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getLabel() {
|
||||||
|
return "reload";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TextComponent getDescription() {
|
||||||
|
return Component.text("Disable all plugin tasks and listeners.").color(NamedTextColor.GRAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public TextComponent getSyntax() {
|
||||||
|
return Component.text("/villageroptimizer reload").color(VillagerOptimizer.plugin_style.color());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void perform(CommandSender sender, String[] args) {
|
||||||
|
if (sender.hasPermission(Permissions.Commands.RELOAD.get())) {
|
||||||
|
sender.sendMessage(Component.text("Disabling VillagerOptimizer...").color(NamedTextColor.RED));
|
||||||
|
VillagerOptimizerModule.modules.forEach(VillagerOptimizerModule::disable);
|
||||||
|
VillagerOptimizerModule.modules.clear();
|
||||||
|
VillagerOptimizer.getCache().cacheMap().clear();
|
||||||
|
sender.sendMessage(Component.text("Disabled all plugin listeners and tasks.").color(NamedTextColor.GREEN));
|
||||||
|
sender.sendMessage(Component.text("You can enable the plugin again using the reload command.").color(NamedTextColor.YELLOW));
|
||||||
|
} else {
|
||||||
|
sender.sendMessage(VillagerOptimizer.getLang(sender).no_permission);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user