From 78504ee097970bab29eda53906a850b0d8e448fe Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Sat, 31 Dec 2022 14:43:44 +0100 Subject: [PATCH] command without arguments now acts as toggle subcommand --- pom.xml | 8 +-- .../preventstabby/commands/HelpCommand.java | 3 +- .../preventstabby/commands/MainCommand.java | 59 ++++++++++--------- .../commands/PvpToggleCommand.java | 8 +-- .../config/PreventStabbyPermission.java | 4 +- src/main/resources/plugin.yml | 10 +++- 6 files changed, 48 insertions(+), 44 deletions(-) diff --git a/pom.xml b/pom.xml index 4821332..7284cc8 100644 --- a/pom.xml +++ b/pom.xml @@ -134,25 +134,25 @@ net.kyori adventure-api - 4.11.0 + 4.12.0 compile net.kyori adventure-platform-bukkit - 4.1.1 + 4.2.0 compile net.kyori adventure-text-minimessage - 4.11.0 + 4.12.0 compile net.kyori adventure-text-serializer-legacy - 4.11.0 + 4.12.0 diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java index 24caba2..1608b25 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java @@ -3,7 +3,6 @@ package me.youhavetrouble.preventstabby.commands; import me.youhavetrouble.preventstabby.PreventStabby; import me.youhavetrouble.preventstabby.config.PreventStabbyPermission; import me.youhavetrouble.preventstabby.util.PluginMessages; -import net.kyori.adventure.audience.MessageType; import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; @@ -23,7 +22,7 @@ public class HelpCommand { .append(Component.newline()) .append(PluginMessages.MINIMESSAGE.deserialize("/pvp toggle - toggles PvP status")); } - PreventStabby.getAudiences().sender(sender).sendMessage(helpComponent, MessageType.SYSTEM); + PreventStabby.getAudiences().sender(sender).sendMessage(helpComponent); }); } diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java index b01ca71..638250b 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java @@ -20,7 +20,7 @@ public class MainCommand implements TabExecutor { private final HashMap subCommands = new HashMap<>(); public MainCommand() { - subCommands.put("help", PreventStabbyPermission.COMMAND); + subCommands.put("help", PreventStabbyPermission.COMMAND_HELP); subCommands.put("toggle", PreventStabbyPermission.COMMAND_TOGGLE); subCommands.put("on", PreventStabbyPermission.COMMAND_TOGGLE); subCommands.put("enable", PreventStabbyPermission.COMMAND_TOGGLE); @@ -36,34 +36,35 @@ public class MainCommand implements TabExecutor { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return true; } - if (args.length >= 1) { - switch (args[0].toLowerCase()) { - case "help": - HelpCommand.help(sender, args); - break; - case "toggle": - PvpToggleCommand.toggle(sender, args); - break; - case "on": - case "enable": - PvpToggleCommand.enable(sender, args); - break; - case "off": - case "disable": - PvpToggleCommand.disable(sender, args); - break; - case "reload": - ReloadCommand.reload(sender); - break; - case "override": - GlobalToggleCommand.globalToggle(sender, args); - break; - default: - PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_such_command()); - break; - } - } else { - HelpCommand.help(sender, args); + if (args.length == 0) { + PvpToggleCommand.toggle(sender, args); + return true; + } + + switch (args[0].toLowerCase()) { + case "help": + HelpCommand.help(sender, args); + break; + case "toggle": + PvpToggleCommand.toggle(sender, args); + break; + case "on": + case "enable": + PvpToggleCommand.enable(sender, args); + break; + case "off": + case "disable": + PvpToggleCommand.disable(sender, args); + break; + case "reload": + ReloadCommand.reload(sender); + break; + case "override": + GlobalToggleCommand.globalToggle(sender, args); + break; + default: + PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_such_command()); + break; } return true; } diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java index 5eaba0c..79ad06b 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java @@ -17,7 +17,7 @@ public class PvpToggleCommand { return; } - if (args.length == 1) { + if (args.length <= 1) { if (sender instanceof Player) { Player player = (Player) sender; if (CombatTimer.isInCombat(player.getUniqueId())) { @@ -60,12 +60,6 @@ public class PvpToggleCommand { message = PreventStabby.getPlugin().getConfigCache().getPvp_disabled_other(); } PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message)); - } else { - if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { - PluginMessages.sendMessage(sender, "Try /pvp toggle "); - } else { - PluginMessages.sendMessage(sender, "Try /pvp toggle"); - } } }); } diff --git a/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java b/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java index e9c1658..deec903 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java +++ b/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java @@ -8,7 +8,9 @@ public enum PreventStabbyPermission { COMMAND_TOGGLE("command.toggle"), COMMAND_TOGGLE_OTHERS("command.toggle.others"), COMMAND_RELOAD("command.reload"), - COMMAND_GLOBAL_TOGGLE("command.toggle.global"); + COMMAND_GLOBAL_TOGGLE("command.toggle.global"), + + COMMAND_HELP("command.help"); private final String permission; PreventStabbyPermission(String permission) { diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 99a5457..a27b31d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -25,12 +25,20 @@ permissions: preventstabby.command.toggle: default: true description: Allows usage of /pvp command + children: + preventstabby.command: true preventstabby.command.toggle.others: default: op description: Allows usage of /pvp command + children: + preventstabby.command: true preventstabby.command.toggle.global: default: op description: Allows usage of /pvp override command + children: + preventstabby.command: true preventstabby.command.reload: default: op - description: Allows usage of /pvp reload command \ No newline at end of file + description: Allows usage of /pvp reload command + children: + preventstabby.command: true \ No newline at end of file