use enum for permissions

This commit is contained in:
2022-05-14 12:28:50 +02:00
parent 0ff0177f0b
commit 6fd3e4b671
6 changed files with 54 additions and 23 deletions
@@ -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<String> 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&ltoggle &f- toggles PvP status"));
}
@@ -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<String, String> subCommands = new HashMap<>();
private final HashMap<String, PreventStabbyPermission> 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<String> commands = new ArrayList<>();
if (args.length == 1) {
String arg1 = args[0].toLowerCase();
for (Map.Entry<String, String> entry : subCommands.entrySet()) {
if (entry.getKey().toLowerCase().startsWith(arg1) && sender.hasPermission(entry.getValue()))
for (Map.Entry<String, PreventStabbyPermission> 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;
@@ -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 <player>");
}
} 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 <player>");
} 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 <player>");
}
} 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 <player>");
} 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 <player>");
}
} 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 <player>");
} else {
PluginMessages.sendMessage(sender, "Try /pvp disable");
@@ -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;
}