aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/cc/polyfrost/oneconfig/command
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/cc/polyfrost/oneconfig/command')
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/command/OneConfigCommand.java69
1 files changed, 25 insertions, 44 deletions
diff --git a/src/main/java/cc/polyfrost/oneconfig/command/OneConfigCommand.java b/src/main/java/cc/polyfrost/oneconfig/command/OneConfigCommand.java
index 0743b54..ab2c403 100644
--- a/src/main/java/cc/polyfrost/oneconfig/command/OneConfigCommand.java
+++ b/src/main/java/cc/polyfrost/oneconfig/command/OneConfigCommand.java
@@ -2,54 +2,35 @@ package cc.polyfrost.oneconfig.command;
import cc.polyfrost.oneconfig.gui.HudGui;
import cc.polyfrost.oneconfig.gui.OneConfigGui;
-import cc.polyfrost.oneconfig.test.TestNanoVGGui;
import cc.polyfrost.oneconfig.utils.GuiUtils;
-import net.minecraft.command.CommandBase;
-import net.minecraft.command.ICommandSender;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class OneConfigCommand extends CommandBase {
-
- @Override
- public String getCommandName() {
- return "oneconfig";
- }
-
- @Override
- public String getCommandUsage(ICommandSender sender) {
- return "oneconfig <>";
- }
-
- @Override
- public List<String> getCommandAliases() {
- return new ArrayList<String>() {{
- add("oneconfig");
- add("ocfg");
- }};
+import cc.polyfrost.oneconfig.utils.commands.annotations.Command;
+import cc.polyfrost.oneconfig.utils.commands.annotations.Main;
+import cc.polyfrost.oneconfig.utils.commands.annotations.SubCommand;
+
+/**
+ * The main OneConfig command.
+ */
+@Command(value = "oneconfig", aliases = {"ocfg", "oneconfig"}, description = "Access the OneConfig GUI.")
+public class OneConfigCommand {
+
+ @Main
+ private static void main() {
+ GuiUtils.displayScreen(OneConfigGui.create());
}
- @Override
- public void processCommand(ICommandSender sender, String[] args) {
- if (args.length == 0) GuiUtils.displayScreen(OneConfigGui.create());
- else {
- switch (args[0]) {
- case "hud":
- GuiUtils.displayScreen(new HudGui());
- break;
- case "lwjgl":
- GuiUtils.displayScreen(new TestNanoVGGui());
- break;
- case "destroy":
- OneConfigGui.instanceToRestore = null;
- break;
- }
+ @SubCommand(value = "hud", description = "Open the OneConfig HUD config.")
+ private static class HUDSubCommand {
+ @Main
+ private static void main() {
+ GuiUtils.displayScreen(new HudGui());
}
}
- @Override
- public int getRequiredPermissionLevel() {
- return -1;
+ @SubCommand(value = "destory", description = "Destroy the cached OneConfig GUI.")
+ private static class DestroySubCommand {
+ @Main
+ private static void main() {
+ OneConfigGui.instanceToRestore = null;
+ }
}
-}
+} \ No newline at end of file