* All values returned from this class are not scaled to Minecraft's GUI scale.
- * For scaled values, see {@link gg.essential.universal.UMouse}.
+ * For scaled values, see {@link cc.polyfrost.oneconfig.libs.universal.UMouse}.
*
*/
public final class InputUtils {
@@ -78,7 +78,7 @@ public final class InputUtils {
* Gets the current mouse X position.
*
* All values returned from this class are not scaled to Minecraft's GUI scale.
- * For scaled values, see {@link gg.essential.universal.UMouse}.
+ * For scaled values, see {@link cc.polyfrost.oneconfig.libs.universal.UMouse}.
*
*
* @return the current mouse X position
@@ -92,7 +92,7 @@ public final class InputUtils {
* Gets the current mouse Y position.
*
* All values returned from this class are not scaled to Minecraft's GUI scale.
- * For scaled values, see {@link gg.essential.universal.UMouse}.
+ * For scaled values, see {@link cc.polyfrost.oneconfig.libs.universal.UMouse}.
*
*
* @return the current mouse Y position
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/NetworkUtils.java b/src/main/java/cc/polyfrost/oneconfig/utils/NetworkUtils.java
index 5578e1e..b99d096 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/NetworkUtils.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/NetworkUtils.java
@@ -1,7 +1,7 @@
package cc.polyfrost.oneconfig.utils;
import com.google.gson.JsonElement;
-import gg.essential.universal.UDesktop;
+import cc.polyfrost.oneconfig.libs.universal.UDesktop;
import org.apache.commons.io.IOUtils;
import java.io.*;
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/TickDelay.java b/src/main/java/cc/polyfrost/oneconfig/utils/TickDelay.java
index 6cda00c..b51ee85 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/TickDelay.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/TickDelay.java
@@ -3,7 +3,7 @@ package cc.polyfrost.oneconfig.utils;
import cc.polyfrost.oneconfig.events.EventManager;
import cc.polyfrost.oneconfig.events.event.Stage;
import cc.polyfrost.oneconfig.events.event.TickEvent;
-import me.kbrewster.eventbus.Subscribe;
+import cc.polyfrost.oneconfig.libs.eventbus.Subscribe;
/**
* Schedules a Runnable to be called after a certain amount of ticks.
@@ -13,7 +13,7 @@ public class TickDelay {
private int delay;
public TickDelay(Runnable functionName, int ticks) {
- EventManager.getEventManager().register(this);
+ EventManager.INSTANCE.register(this);
delay = ticks;
function = functionName;
}
@@ -24,7 +24,7 @@ public class TickDelay {
// Delay expired
if (delay < 1) {
function.run();
- EventManager.getEventManager().unregister(this);
+ EventManager.INSTANCE.unregister(this);
}
delay--;
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java b/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java
index 32bbf5d..338e9a3 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java
@@ -5,8 +5,8 @@ import cc.polyfrost.oneconfig.utils.commands.annotations.Greedy;
import cc.polyfrost.oneconfig.utils.commands.annotations.Main;
import cc.polyfrost.oneconfig.utils.commands.annotations.SubCommand;
import cc.polyfrost.oneconfig.utils.commands.arguments.*;
-import gg.essential.universal.ChatColor;
-import gg.essential.universal.UChat;
+import cc.polyfrost.oneconfig.libs.universal.ChatColor;
+import cc.polyfrost.oneconfig.libs.universal.UChat;
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandSender;
import net.minecraftforge.client.ClientCommandHandler;
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/gui/GuiUtils.java b/src/main/java/cc/polyfrost/oneconfig/utils/gui/GuiUtils.java
index c80814f..d7b3bea 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/gui/GuiUtils.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/gui/GuiUtils.java
@@ -4,9 +4,9 @@ import cc.polyfrost.oneconfig.events.EventManager;
import cc.polyfrost.oneconfig.events.event.RenderEvent;
import cc.polyfrost.oneconfig.events.event.Stage;
import cc.polyfrost.oneconfig.utils.TickDelay;
-import gg.essential.universal.UMinecraft;
-import gg.essential.universal.UScreen;
-import me.kbrewster.eventbus.Subscribe;
+import cc.polyfrost.oneconfig.libs.universal.UMinecraft;
+import cc.polyfrost.oneconfig.libs.universal.UScreen;
+import cc.polyfrost.oneconfig.libs.eventbus.Subscribe;
import net.minecraft.client.gui.GuiScreen;
/**
@@ -17,7 +17,7 @@ public final class GuiUtils {
private static long deltaTime = 17L;
static {
- EventManager.getEventManager().register(new GuiUtils());
+ EventManager.INSTANCE.register(new GuiUtils());
}
/**
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/gui/OneUIScreen.java b/src/main/java/cc/polyfrost/oneconfig/utils/gui/OneUIScreen.java
index c06f6f3..7459224 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/gui/OneUIScreen.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/gui/OneUIScreen.java
@@ -2,8 +2,8 @@ package cc.polyfrost.oneconfig.utils.gui;
import cc.polyfrost.oneconfig.renderer.RenderManager;
import cc.polyfrost.oneconfig.utils.InputUtils;
-import gg.essential.universal.UMatrixStack;
-import gg.essential.universal.UScreen;
+import cc.polyfrost.oneconfig.libs.universal.UMatrixStack;
+import cc.polyfrost.oneconfig.libs.universal.UScreen;
import net.minecraft.client.gui.GuiScreen;
import org.jetbrains.annotations.NotNull;
import org.lwjgl.input.Mouse;
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/hypixel/HypixelUtils.java b/src/main/java/cc/polyfrost/oneconfig/utils/hypixel/HypixelUtils.java
index 36dc46c..df5211b 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/hypixel/HypixelUtils.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/hypixel/HypixelUtils.java
@@ -8,11 +8,11 @@ import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
-import gg.essential.universal.UChat;
-import gg.essential.universal.UMinecraft;
-import gg.essential.universal.wrappers.UPlayer;
-import gg.essential.universal.wrappers.message.UTextComponent;
-import me.kbrewster.eventbus.Subscribe;
+import cc.polyfrost.oneconfig.libs.universal.UChat;
+import cc.polyfrost.oneconfig.libs.universal.UMinecraft;
+import cc.polyfrost.oneconfig.libs.universal.wrappers.UPlayer;
+import cc.polyfrost.oneconfig.libs.universal.wrappers.message.UTextComponent;
+import cc.polyfrost.oneconfig.libs.eventbus.Subscribe;
import java.util.Locale;
import java.util.concurrent.TimeUnit;
@@ -123,7 +123,7 @@ public class HypixelUtils {
previousLocraw = parsed;
inGame = true; // If your gamemode does not return "lobby", boolean inGame is true.
}
- EventManager.getEventManager().post(new LocrawEvent(locraw));
+ EventManager.INSTANCE.post(new LocrawEvent(locraw));
event.isCancelled = true;
}
} catch (Exception ex) {
--
cgit
From c703f099e2af36335dd9906d7e531a58da80fbd0 Mon Sep 17 00:00:00 2001
From: Wyvest <45589059+Wyvest@users.noreply.github.com>
Date: Sat, 11 Jun 2022 12:04:07 +0700
Subject: implement tab completions
---
.../oneconfig/utils/commands/CommandManager.java | 275 ++++++++++++++-------
.../utils/commands/arguments/BooleanParser.java | 9 +-
2 files changed, 188 insertions(+), 96 deletions(-)
(limited to 'src/main/java/cc/polyfrost/oneconfig/utils')
diff --git a/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java b/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java
index 338e9a3..e0f4779 100644
--- a/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java
+++ b/src/main/java/cc/polyfrost/oneconfig/utils/commands/CommandManager.java
@@ -9,7 +9,12 @@ import cc.polyfrost.oneconfig.libs.universal.ChatColor;
import cc.polyfrost.oneconfig.libs.universal.UChat;
import net.minecraft.command.CommandBase;
import net.minecraft.command.ICommandSender;
+import net.minecraft.util.BlockPos;
import net.minecraftforge.client.ClientCommandHandler;
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.ImmutableTriple;
+import org.apache.commons.lang3.tuple.Pair;
+import org.apache.commons.lang3.tuple.Triple;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
@@ -25,19 +30,20 @@ import java.util.*;
public class CommandManager {
public static final CommandManager INSTANCE = new CommandManager();
private static final String NOT_FOUND_TEXT = "Command not found! Type /@ROOT_COMMAND@ help for help.";
+ private static final String TOO_MANY_PARAMETERS = "There were too many / little parameters for this command! Type /@ROOT_COMMAND@ help for help.";
private static final String METHOD_RUN_ERROR = "Error while running @ROOT_COMMAND@ method! Please report this to the developer.";
private final HashMap, ArgumentParser>> parsers = new HashMap<>();
private CommandManager() {
addParser(new StringParser());
addParser(new IntegerParser());
- addParser(new IntegerParser(), int.class);
+ addParser(new IntegerParser(), Integer.TYPE);
addParser(new DoubleParser());
- addParser(new DoubleParser(), double.class);
+ addParser(new DoubleParser(), Double.TYPE);
addParser(new FloatParser());
- addParser(new FloatParser(), float.class);
+ addParser(new FloatParser(), Float.TYPE);
addParser(new BooleanParser());
- addParser(new BooleanParser(), boolean.class);
+ addParser(new BooleanParser(), Boolean.TYPE);
}
/**
@@ -89,62 +95,7 @@ public class CommandManager {
@Override
public void processCommand(ICommandSender sender, String[] args) {
- if (args.length == 0) {
- if (!root.invokers.isEmpty()) {
- try {
- root.invokers.get(0).method.invoke(null);
- } catch (IllegalAccessException | InvocationTargetException | IllegalArgumentException |
- ExceptionInInitializerError e) {
- e.printStackTrace();
- UChat.chat(ChatColor.RED.toString() + ChatColor.BOLD + METHOD_RUN_ERROR);
- }
- }
- } else {
- if (annotation.helpCommand() && args[0].equalsIgnoreCase("help")) {
- //UChat.chat(sendHelpCommand(root));
- } else {
- List commands = new ArrayList<>();
- int depth = 0;
- for (InternalCommand command : root.children) {
- int newDepth = loopThroughCommands(commands, 0, command, args, true);
- if (newDepth != -1) {
- depth = newDepth;
- break;
- }
- }
- System.out.println(depth);
- System.out.println(commands);
- if (commands.isEmpty()) {
- UChat.chat(ChatColor.RED.toString() + ChatColor.BOLD + NOT_FOUND_TEXT.replace("@ROOT_COMMAND@", annotation.value()));
- } else {
- List errors = new ArrayList<>();
- for (InternalCommand.InternalCommandInvoker invoker : commands) {
- try {
- List