From 6fd3e4b671de7707578888526b6e894be5aaca4e Mon Sep 17 00:00:00 2001 From: YouHaveTrouble Date: Sat, 14 May 2022 12:28:50 +0200 Subject: [PATCH] use enum for permissions --- pom.xml | 2 +- .../preventstabby/commands/HelpCommand.java | 3 ++- .../preventstabby/commands/MainCommand.java | 24 +++++++++-------- .../commands/PvpToggleCommand.java | 19 +++++++------- .../preventstabby/commands/ReloadCommand.java | 3 ++- .../config/PreventStabbyPermission.java | 26 +++++++++++++++++++ 6 files changed, 54 insertions(+), 23 deletions(-) create mode 100644 src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java diff --git a/pom.xml b/pom.xml index 9b3f640..1793ddb 100644 --- a/pom.xml +++ b/pom.xml @@ -96,7 +96,7 @@ org.projectlombok lombok - 1.18.22 + 1.18.24 provided diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java index 05e2eed..5e948e5 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/HelpCommand.java @@ -1,6 +1,7 @@ package me.youhavetrouble.preventstabby.commands; import me.youhavetrouble.preventstabby.PreventStabby; +import me.youhavetrouble.preventstabby.config.PreventStabbyPermission; import me.youhavetrouble.preventstabby.util.PluginMessages; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; @@ -14,7 +15,7 @@ public class HelpCommand { List helpPage = new ArrayList<>(); helpPage.add(PluginMessages.parseMessage("&b&m &bPreventStabby Help&b&m ")); helpPage.add(PluginMessages.parseMessage("&9/pvp &b&lhelp &f- shows this message")); - if (sender.hasPermission("preventstabby.command.toggle")) { + if (PreventStabbyPermission.COMMAND_TOGGLE.doesCommandSenderHave(sender)) { helpPage.add(PluginMessages.parseMessage("&9/pvp &b&l[on/off] &f- enables or disables PvP")); helpPage.add(PluginMessages.parseMessage("&9/pvp &b<oggle &f- toggles PvP status")); } diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java index 6dbb4c0..41818be 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/MainCommand.java @@ -1,6 +1,7 @@ package me.youhavetrouble.preventstabby.commands; import me.youhavetrouble.preventstabby.PreventStabby; +import me.youhavetrouble.preventstabby.config.PreventStabbyPermission; import me.youhavetrouble.preventstabby.util.PluginMessages; import org.bukkit.Bukkit; import org.bukkit.command.Command; @@ -15,16 +16,16 @@ import java.util.Map; public class MainCommand implements TabExecutor { - private final HashMap subCommands = new HashMap<>(); + private final HashMap subCommands = new HashMap<>(); public MainCommand() { - subCommands.put("help", "preventstabby.command"); - subCommands.put("toggle", "preventstabby.command.toggle"); - subCommands.put("on", "preventstabby.command.toggle"); - subCommands.put("enable", "preventstabby.command.toggle"); - subCommands.put("off", "preventstabby.command.toggle"); - subCommands.put("disable", "preventstabby.command.toggle"); - subCommands.put("reload", "preventstabby.command.reload"); + subCommands.put("help", PreventStabbyPermission.COMMAND); + subCommands.put("toggle", PreventStabbyPermission.COMMAND_TOGGLE); + subCommands.put("on", PreventStabbyPermission.COMMAND_TOGGLE); + subCommands.put("enable", PreventStabbyPermission.COMMAND_TOGGLE); + subCommands.put("off", PreventStabbyPermission.COMMAND_TOGGLE); + subCommands.put("disable", PreventStabbyPermission.COMMAND_TOGGLE); + subCommands.put("reload", PreventStabbyPermission.COMMAND_RELOAD); } @Override @@ -67,12 +68,13 @@ public class MainCommand implements TabExecutor { List commands = new ArrayList<>(); if (args.length == 1) { String arg1 = args[0].toLowerCase(); - for (Map.Entry entry : subCommands.entrySet()) { - if (entry.getKey().toLowerCase().startsWith(arg1) && sender.hasPermission(entry.getValue())) + for (Map.Entry entry : subCommands.entrySet()) { + if (entry.getKey().toLowerCase().startsWith(arg1) + && entry.getValue().doesCommandSenderHave(sender)) commands.add(entry.getKey()); } return commands; - } else if (args.length == 2 && sender.hasPermission("preventstabby.command.toggle")) { + } else if (args.length == 2 && PreventStabbyPermission.COMMAND_TOGGLE.doesCommandSenderHave(sender)) { switch (args[0].toLowerCase()) { default: break; diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java index a9d21a9..bc855d1 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/PvpToggleCommand.java @@ -1,6 +1,7 @@ package me.youhavetrouble.preventstabby.commands; import me.youhavetrouble.preventstabby.PreventStabby; +import me.youhavetrouble.preventstabby.config.PreventStabbyPermission; import me.youhavetrouble.preventstabby.util.CombatTimer; import me.youhavetrouble.preventstabby.util.PluginMessages; import org.bukkit.Bukkit; @@ -11,7 +12,7 @@ public class PvpToggleCommand { public static void toggle(CommandSender sender, String[] args) { Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> { - if (!sender.hasPermission("preventstabby.command.toggle")) { + if (!PreventStabbyPermission.COMMAND_TOGGLE.doesCommandSenderHave(sender)) { PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } @@ -36,7 +37,7 @@ public class PvpToggleCommand { PluginMessages.sendMessage(sender, "Try /pvp toggle "); } } else if (args.length == 2) { - if (!sender.hasPermission("preventstabby.command.toggle.others")) { + if (!PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } @@ -62,7 +63,7 @@ public class PvpToggleCommand { } PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message)); } else { - if (sender.hasPermission("preventstabby.command.toggle.others")) { + if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, "Try /pvp toggle "); } else { PluginMessages.sendMessage(sender, "Try /pvp toggle"); @@ -72,7 +73,7 @@ public class PvpToggleCommand { } public static void enable(CommandSender sender, String[] args) { - if (!sender.hasPermission("preventstabby.command.toggle")) { + if (!PreventStabbyPermission.COMMAND_TOGGLE.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } @@ -89,7 +90,7 @@ public class PvpToggleCommand { PluginMessages.sendMessage(sender, "Try /pvp enable "); } } else if (args.length == 2) { - if (!sender.hasPermission("preventstabby.command.toggle.others")) { + if (!PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } @@ -109,7 +110,7 @@ public class PvpToggleCommand { PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message)); PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true); } else { - if (sender.hasPermission("preventstabby.command.toggle.others")) { + if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, "Try /pvp enable "); } else { PluginMessages.sendMessage(sender, "Try /pvp enable"); @@ -118,7 +119,7 @@ public class PvpToggleCommand { } public static void disable(CommandSender sender, String[] args) { - if (!sender.hasPermission("preventstabby.command.toggle")) { + if (!PreventStabbyPermission.COMMAND_TOGGLE.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } @@ -135,7 +136,7 @@ public class PvpToggleCommand { PluginMessages.sendMessage(sender, "Try /pvp disable "); } } else if (args.length == 2) { - if (!sender.hasPermission("preventstabby.command.toggle.others")) { + if (!PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } @@ -156,7 +157,7 @@ public class PvpToggleCommand { PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true); } else { - if (sender.hasPermission("preventstabby.command.toggle.others")) { + if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) { PluginMessages.sendMessage(sender, "Try /pvp disable "); } else { PluginMessages.sendMessage(sender, "Try /pvp disable"); diff --git a/src/main/java/me/youhavetrouble/preventstabby/commands/ReloadCommand.java b/src/main/java/me/youhavetrouble/preventstabby/commands/ReloadCommand.java index 9ea034a..30e5385 100644 --- a/src/main/java/me/youhavetrouble/preventstabby/commands/ReloadCommand.java +++ b/src/main/java/me/youhavetrouble/preventstabby/commands/ReloadCommand.java @@ -1,6 +1,7 @@ package me.youhavetrouble.preventstabby.commands; import me.youhavetrouble.preventstabby.PreventStabby; +import me.youhavetrouble.preventstabby.config.PreventStabbyPermission; import me.youhavetrouble.preventstabby.util.PluginMessages; import org.bukkit.Bukkit; import org.bukkit.command.CommandSender; @@ -9,7 +10,7 @@ public class ReloadCommand { public static void reload(CommandSender sender) { Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> { - if (!sender.hasPermission("preventstabby.command.reload")) { + if (!PreventStabbyPermission.COMMAND_RELOAD.doesCommandSenderHave(sender)) { PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission()); return; } diff --git a/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java b/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java new file mode 100644 index 0000000..51d95c1 --- /dev/null +++ b/src/main/java/me/youhavetrouble/preventstabby/config/PreventStabbyPermission.java @@ -0,0 +1,26 @@ +package me.youhavetrouble.preventstabby.config; + +import org.bukkit.command.CommandSender; + +public enum PreventStabbyPermission { + + COMMAND("preventstabby.command"), + COMMAND_TOGGLE("preventstabby.command.toggle"), + COMMAND_TOGGLE_OTHERS("preventstabby.command.toggle.others"), + COMMAND_RELOAD("preventstabby.command.reload"); + + private final String permission; + PreventStabbyPermission(String permission) { + this.permission = permission; + } + + public boolean doesCommandSenderHave(CommandSender sender) { + return sender.hasPermission(permission); + } + + @Override + public String toString() { + return permission; + } + +}