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.commands.SubCommand;
|
||||
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.VersionSubCmd;
|
||||
import me.xginko.villageroptimizer.enums.Permissions;
|
||||
@ -19,12 +20,13 @@ import java.util.List;
|
||||
|
||||
public class VillagerOptimizerCmd implements TabCompleter, VillagerOptimizerCommand {
|
||||
|
||||
private final List<SubCommand> subCommands = new ArrayList<>(2);
|
||||
private final List<String> tabCompleter = new ArrayList<>(2);
|
||||
private final List<SubCommand> subCommands = new ArrayList<>(3);
|
||||
private final List<String> tabCompleter = new ArrayList<>(3);
|
||||
|
||||
public VillagerOptimizerCmd() {
|
||||
subCommands.add(new ReloadSubCmd());
|
||||
subCommands.add(new VersionSubCmd());
|
||||
subCommands.add(new DisableSubCmd());
|
||||
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