mirror of
https://github.com/YouHaveTrouble/PreventStabby.git
synced 2026-05-12 05:16:55 +00:00
use enum for permissions
This commit is contained in:
@@ -96,7 +96,7 @@
|
|||||||
<dependency>
|
<dependency>
|
||||||
<groupId>org.projectlombok</groupId>
|
<groupId>org.projectlombok</groupId>
|
||||||
<artifactId>lombok</artifactId>
|
<artifactId>lombok</artifactId>
|
||||||
<version>1.18.22</version>
|
<version>1.18.24</version>
|
||||||
<scope>provided</scope>
|
<scope>provided</scope>
|
||||||
</dependency>
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package me.youhavetrouble.preventstabby.commands;
|
package me.youhavetrouble.preventstabby.commands;
|
||||||
|
|
||||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||||
|
import me.youhavetrouble.preventstabby.config.PreventStabbyPermission;
|
||||||
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -14,7 +15,7 @@ public class HelpCommand {
|
|||||||
List<String> helpPage = new ArrayList<>();
|
List<String> helpPage = new ArrayList<>();
|
||||||
helpPage.add(PluginMessages.parseMessage("&b&m &bPreventStabby Help&b&m "));
|
helpPage.add(PluginMessages.parseMessage("&b&m &bPreventStabby Help&b&m "));
|
||||||
helpPage.add(PluginMessages.parseMessage("&9/pvp &b&lhelp &f- shows this message"));
|
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&l[on/off] &f- enables or disables PvP"));
|
||||||
helpPage.add(PluginMessages.parseMessage("&9/pvp &b<oggle &f- toggles PvP status"));
|
helpPage.add(PluginMessages.parseMessage("&9/pvp &b<oggle &f- toggles PvP status"));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package me.youhavetrouble.preventstabby.commands;
|
package me.youhavetrouble.preventstabby.commands;
|
||||||
|
|
||||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||||
|
import me.youhavetrouble.preventstabby.config.PreventStabbyPermission;
|
||||||
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.Command;
|
import org.bukkit.command.Command;
|
||||||
@@ -15,16 +16,16 @@ import java.util.Map;
|
|||||||
|
|
||||||
public class MainCommand implements TabExecutor {
|
public class MainCommand implements TabExecutor {
|
||||||
|
|
||||||
private final HashMap<String, String> subCommands = new HashMap<>();
|
private final HashMap<String, PreventStabbyPermission> subCommands = new HashMap<>();
|
||||||
|
|
||||||
public MainCommand() {
|
public MainCommand() {
|
||||||
subCommands.put("help", "preventstabby.command");
|
subCommands.put("help", PreventStabbyPermission.COMMAND);
|
||||||
subCommands.put("toggle", "preventstabby.command.toggle");
|
subCommands.put("toggle", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||||
subCommands.put("on", "preventstabby.command.toggle");
|
subCommands.put("on", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||||
subCommands.put("enable", "preventstabby.command.toggle");
|
subCommands.put("enable", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||||
subCommands.put("off", "preventstabby.command.toggle");
|
subCommands.put("off", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||||
subCommands.put("disable", "preventstabby.command.toggle");
|
subCommands.put("disable", PreventStabbyPermission.COMMAND_TOGGLE);
|
||||||
subCommands.put("reload", "preventstabby.command.reload");
|
subCommands.put("reload", PreventStabbyPermission.COMMAND_RELOAD);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -67,12 +68,13 @@ public class MainCommand implements TabExecutor {
|
|||||||
List<String> commands = new ArrayList<>();
|
List<String> commands = new ArrayList<>();
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
String arg1 = args[0].toLowerCase();
|
String arg1 = args[0].toLowerCase();
|
||||||
for (Map.Entry<String, String> entry : subCommands.entrySet()) {
|
for (Map.Entry<String, PreventStabbyPermission> entry : subCommands.entrySet()) {
|
||||||
if (entry.getKey().toLowerCase().startsWith(arg1) && sender.hasPermission(entry.getValue()))
|
if (entry.getKey().toLowerCase().startsWith(arg1)
|
||||||
|
&& entry.getValue().doesCommandSenderHave(sender))
|
||||||
commands.add(entry.getKey());
|
commands.add(entry.getKey());
|
||||||
}
|
}
|
||||||
return commands;
|
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()) {
|
switch (args[0].toLowerCase()) {
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package me.youhavetrouble.preventstabby.commands;
|
package me.youhavetrouble.preventstabby.commands;
|
||||||
|
|
||||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||||
|
import me.youhavetrouble.preventstabby.config.PreventStabbyPermission;
|
||||||
import me.youhavetrouble.preventstabby.util.CombatTimer;
|
import me.youhavetrouble.preventstabby.util.CombatTimer;
|
||||||
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -11,7 +12,7 @@ public class PvpToggleCommand {
|
|||||||
|
|
||||||
public static void toggle(CommandSender sender, String[] args) {
|
public static void toggle(CommandSender sender, String[] args) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
|
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());
|
PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -36,7 +37,7 @@ public class PvpToggleCommand {
|
|||||||
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
|
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
|
||||||
}
|
}
|
||||||
} else if (args.length == 2) {
|
} 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());
|
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -62,7 +63,7 @@ public class PvpToggleCommand {
|
|||||||
}
|
}
|
||||||
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
|
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
|
||||||
} else {
|
} else {
|
||||||
if (sender.hasPermission("preventstabby.command.toggle.others")) {
|
if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) {
|
||||||
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
|
PluginMessages.sendMessage(sender, "Try /pvp toggle <player>");
|
||||||
} else {
|
} else {
|
||||||
PluginMessages.sendMessage(sender, "Try /pvp toggle");
|
PluginMessages.sendMessage(sender, "Try /pvp toggle");
|
||||||
@@ -72,7 +73,7 @@ public class PvpToggleCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void enable(CommandSender sender, String[] args) {
|
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());
|
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -89,7 +90,7 @@ public class PvpToggleCommand {
|
|||||||
PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
|
PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
|
||||||
}
|
}
|
||||||
} else if (args.length == 2) {
|
} 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());
|
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -109,7 +110,7 @@ public class PvpToggleCommand {
|
|||||||
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
|
PluginMessages.sendMessage(sender, PluginMessages.parsePlayerName(player, message));
|
||||||
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
|
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
|
||||||
} else {
|
} else {
|
||||||
if (sender.hasPermission("preventstabby.command.toggle.others")) {
|
if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) {
|
||||||
PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
|
PluginMessages.sendMessage(sender, "Try /pvp enable <player>");
|
||||||
} else {
|
} else {
|
||||||
PluginMessages.sendMessage(sender, "Try /pvp enable");
|
PluginMessages.sendMessage(sender, "Try /pvp enable");
|
||||||
@@ -118,7 +119,7 @@ public class PvpToggleCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void disable(CommandSender sender, String[] args) {
|
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());
|
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -135,7 +136,7 @@ public class PvpToggleCommand {
|
|||||||
PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
|
PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
|
||||||
}
|
}
|
||||||
} else if (args.length == 2) {
|
} 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());
|
PluginMessages.sendMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -156,7 +157,7 @@ public class PvpToggleCommand {
|
|||||||
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
|
PreventStabby.getPlugin().getPlayerManager().setPlayerPvpState(player.getUniqueId(), true);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
if (sender.hasPermission("preventstabby.command.toggle.others")) {
|
if (PreventStabbyPermission.COMMAND_TOGGLE_OTHERS.doesCommandSenderHave(sender)) {
|
||||||
PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
|
PluginMessages.sendMessage(sender, "Try /pvp disable <player>");
|
||||||
} else {
|
} else {
|
||||||
PluginMessages.sendMessage(sender, "Try /pvp disable");
|
PluginMessages.sendMessage(sender, "Try /pvp disable");
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package me.youhavetrouble.preventstabby.commands;
|
package me.youhavetrouble.preventstabby.commands;
|
||||||
|
|
||||||
import me.youhavetrouble.preventstabby.PreventStabby;
|
import me.youhavetrouble.preventstabby.PreventStabby;
|
||||||
|
import me.youhavetrouble.preventstabby.config.PreventStabbyPermission;
|
||||||
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
import me.youhavetrouble.preventstabby.util.PluginMessages;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
@@ -9,7 +10,7 @@ public class ReloadCommand {
|
|||||||
|
|
||||||
public static void reload(CommandSender sender) {
|
public static void reload(CommandSender sender) {
|
||||||
Bukkit.getScheduler().runTaskAsynchronously(PreventStabby.getPlugin(), () -> {
|
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());
|
PluginMessages.parseMessage(sender, PreventStabby.getPlugin().getConfigCache().getNo_permission());
|
||||||
return;
|
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