mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-11 21:06:55 +00:00
use enum for permissions
This commit is contained in:
@@ -96,7 +96,7 @@
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
<version>1.18.22</version>
|
||||
<version>1.18.24</version>
|
||||
<scope>provided</scope>
|
||||
</dependency>
|
||||
<dependency>
|
||||
|
||||
@@ -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<oggle &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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user