diff --git a/src/main/java/io/github/optijava/opt_carpet_addition/OptCarpetSettings.java b/src/main/java/io/github/optijava/opt_carpet_addition/OptCarpetSettings.java index 88cabd7..009f0cc 100644 --- a/src/main/java/io/github/optijava/opt_carpet_addition/OptCarpetSettings.java +++ b/src/main/java/io/github/optijava/opt_carpet_addition/OptCarpetSettings.java @@ -245,4 +245,28 @@ public class OptCarpetSettings { options = {"true", "false"} ) public static boolean allowSpectatorTpToAnyPlayer = false; + + @Rule( + desc = "enableLoggerCommand", + category = {RuleCategory.COMMAND , OCA} + ) + public static boolean enableLoggerCommand = true; + + @Rule( + desc = "enableCrashCommand", + category = {RuleCategory.COMMAND , OCA} + ) + public static boolean enableCrashCommand = true; + + @Rule( + desc = "enableListAdvanceCommand", + category = {RuleCategory.COMMAND , OCA} + ) + public static boolean enableListAdvanceCommand = true; + + @Rule( + desc = "enableTpmanagerCommand", + category = {RuleCategory.COMMAND , OCA} + ) + public static boolean enableTpmanagerCommand = true; } diff --git a/src/main/java/io/github/optijava/opt_carpet_addition/commands/CommandLoggerCommand.java b/src/main/java/io/github/optijava/opt_carpet_addition/commands/CommandLoggerCommand.java index 0719f16..5a724a4 100644 --- a/src/main/java/io/github/optijava/opt_carpet_addition/commands/CommandLoggerCommand.java +++ b/src/main/java/io/github/optijava/opt_carpet_addition/commands/CommandLoggerCommand.java @@ -4,17 +4,23 @@ import com.mojang.brigadier.builder.LiteralArgumentBuilder; import com.mojang.brigadier.context.CommandContext; import io.github.optijava.opt_carpet_addition.utils.CommandLogger; +import net.minecraft.server.command.CommandManager; import net.minecraft.server.command.ServerCommandSource; - -import static net.minecraft.server.command.CommandManager.literal; +import static io.github.optijava.opt_carpet_addition.OptCarpetSettings.enableLoggerCommand; public class CommandLoggerCommand { public static void registerCommand(CommandDispatcher dispatcher) { - LiteralArgumentBuilder argumentBuilder = literal("commandlogger") + LiteralArgumentBuilder argumentBuilder = CommandManager.literal("commandlogger") + //#if MC < 12004 + //$$.requires((player) -> carpet.settings.SettingsManager.canUseCommand(source, enableLoggerCommand)) + //#else + //$$.requires((player) -> carpet.utils.CommandHelper.canUseCommand(player, enableLoggerCommand)) + //#endif .then( - literal("reload") + CommandManager.literal("reload") .executes(CommandLoggerCommand::reload) ); + dispatcher.register(argumentBuilder); } diff --git a/src/main/java/io/github/optijava/opt_carpet_addition/commands/CrashCommand.java b/src/main/java/io/github/optijava/opt_carpet_addition/commands/CrashCommand.java index 6d19df9..5478352 100644 --- a/src/main/java/io/github/optijava/opt_carpet_addition/commands/CrashCommand.java +++ b/src/main/java/io/github/optijava/opt_carpet_addition/commands/CrashCommand.java @@ -6,6 +6,7 @@ import com.mojang.brigadier.context.CommandContext; import io.github.optijava.opt_carpet_addition.OptCarpetAddition; import net.minecraft.server.command.ServerCommandSource; +import static io.github.optijava.opt_carpet_addition.OptCarpetSettings.enableCrashCommand; import static net.minecraft.server.command.CommandManager.literal; @@ -17,7 +18,13 @@ private CrashCommand() { public static void registerCommand(CommandDispatcher dispatcher) { LiteralArgumentBuilder argumentBuilder = literal("crash") - .requires((serverCommandSource -> serverCommandSource.hasPermissionLevel(4))) + //#if MC < 12004 + //$$ .requires((serverCommandSource -> serverCommandSource.hasPermissionLevel(4))) + //$$.requires((player) -> carpet.settings.SettingsManager.canUseCommand(source, enableCrashCommand)) + //#else + //$$.requires((serverCommandSource -> serverCommandSource.hasPermissionLevel(4))) + //$$.requires((player) -> carpet.utils.CommandHelper.canUseCommand(player, enableCrashCommand)) + //#endif .executes(CrashCommand::prepare) .then( literal("confirm") diff --git a/src/main/java/io/github/optijava/opt_carpet_addition/commands/ListAdvanceCommand.java b/src/main/java/io/github/optijava/opt_carpet_addition/commands/ListAdvanceCommand.java index d356e17..1f08c76 100644 --- a/src/main/java/io/github/optijava/opt_carpet_addition/commands/ListAdvanceCommand.java +++ b/src/main/java/io/github/optijava/opt_carpet_addition/commands/ListAdvanceCommand.java @@ -8,6 +8,7 @@ import net.minecraft.server.MinecraftServer; import net.minecraft.server.command.ServerCommandSource; import net.minecraft.server.network.ServerPlayerEntity; +import static io.github.optijava.opt_carpet_addition.OptCarpetSettings.enableListAdvanceCommand; import static net.minecraft.server.command.CommandManager.literal; @@ -15,6 +16,11 @@ public class ListAdvanceCommand { public static void registerCommand(CommandDispatcher dispatcher) { LiteralArgumentBuilder argumentBuilder = literal("list") + //#if MC < 12004 + //$$.requires((player) -> carpet.settings.SettingsManager.canUseCommand(source, enableListAdvanceCommand)) + //#else + //$$.requires((player) -> carpet.utils.CommandHelper.canUseCommand(player, enableListAdvanceCommand)) + //#endif .then(literal("-advance").executes(ListAdvanceCommand::listAdvance)); dispatcher.register(argumentBuilder); } diff --git a/src/main/java/io/github/optijava/opt_carpet_addition/commands/TpLimitCommand.java b/src/main/java/io/github/optijava/opt_carpet_addition/commands/TpLimitCommand.java index 3cfe993..724f60b 100644 --- a/src/main/java/io/github/optijava/opt_carpet_addition/commands/TpLimitCommand.java +++ b/src/main/java/io/github/optijava/opt_carpet_addition/commands/TpLimitCommand.java @@ -12,6 +12,8 @@ import static net.minecraft.server.command.CommandManager.argument; import static net.minecraft.server.command.CommandManager.literal; +import static io.github.optijava.opt_carpet_addition.OptCarpetSettings.enableTpmanagerCommand; + public class TpLimitCommand { private TpLimitCommand() { @@ -22,6 +24,11 @@ public static void registerCommand(CommandDispatcher dispat LiteralArgumentBuilder argument = literal("tpmanager") + //#if MC < 12004 + //$$.requires((player) -> carpet.settings.SettingsManager.canUseCommand(source, enableTpmanagerCommand)) + //#else + //$$.requires((player) -> carpet.utils.CommandHelper.canUseCommand(player, enableTpmanagerCommand)) + //#endif .then( literal("reload") .executes(TpLimit::reload)