summaryrefslogtreecommitdiff
path: root/src/main/java/net/tylermurphy/Minecraft/Command/CommandHandler.java
diff options
context:
space:
mode:
authorTyler Murphy <tylerm@tylerm.dev>2023-04-17 12:12:01 -0400
committerTyler Murphy <tylerm@tylerm.dev>2023-04-17 12:12:01 -0400
commit180aad05decc7eefa87e4e45d6747c48f40e5361 (patch)
tree51545197f7c94b4022acab880772c9f4fc65db0e /src/main/java/net/tylermurphy/Minecraft/Command/CommandHandler.java
downloadminecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.tar.gz
minecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.tar.bz2
minecraftjava-180aad05decc7eefa87e4e45d6747c48f40e5361.zip
save
Diffstat (limited to '')
-rwxr-xr-xsrc/main/java/net/tylermurphy/Minecraft/Command/CommandHandler.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/Minecraft/Command/CommandHandler.java b/src/main/java/net/tylermurphy/Minecraft/Command/CommandHandler.java
new file mode 100755
index 0000000..c289604
--- /dev/null
+++ b/src/main/java/net/tylermurphy/Minecraft/Command/CommandHandler.java
@@ -0,0 +1,37 @@
+package net.tylermurphy.Minecraft.Command;
+
+import net.tylermurphy.Minecraft.Command.Commands.Teleport;
+
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+
+public class CommandHandler {
+
+ public final static Map<String, ICommand> REGISTER = new HashMap<>();
+
+ public static void registerCommands() {
+ register(new Teleport());
+ }
+
+ private static void register(ICommand command) {
+ if (!REGISTER.containsKey(command.getInvoke())) {
+ REGISTER.put(command.getInvoke().toLowerCase(), command);
+ }
+ }
+
+ public static void handleCommand(String text) {
+ final String[] split = text.replaceFirst(
+ "(?i)" + Pattern.quote("/"), "").split("\\s+");
+ final String invoke = split[0].toLowerCase();
+ if(REGISTER.containsKey(invoke)) {
+ ICommand command = REGISTER.get(invoke);
+ final List<String> args = Arrays.asList(split).subList(1, split.length);
+ command.invoke(args);
+ }
+ }
+
+}