aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.gradle.kts4
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/events/event/KeyInputEvent.java4
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/events/event/MouseInputEvent.java4
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/internal/OneConfig.java3
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/internal/config/core/ConfigCore.java2
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/internal/config/core/KeyBindHandler.java15
-rw-r--r--src/main/java/cc/polyfrost/oneconfig/internal/mixin/MinecraftMixin.java10
8 files changed, 33 insertions, 11 deletions
diff --git a/build.gradle.kts b/build.gradle.kts
index 6232699..3cd25bb 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -65,6 +65,7 @@ repositories {
val relocated = registerRelocationAttribute("relocate") {
relocate("gg.essential", "cc.polyfrost.oneconfig.libs")
relocate("me.kbrewster", "cc.polyfrost.oneconfig.libs")
+ relocate("com.github.benmanes", "cc.polyfrost.oneconfig.libs")
}
val shadeRelocated: Configuration by configurations.creating {
@@ -114,6 +115,9 @@ dependencies {
isTransitive = false
}
+ @Suppress("GradlePackageUpdate")
+ shadeRelocated("com.github.ben-manes.caffeine:caffeine:2.9.3")
+
// for other mods and universalcraft
val kotlinVersion: String by project
val coroutinesVersion: String by project
diff --git a/src/main/java/cc/polyfrost/oneconfig/events/event/KeyInputEvent.java b/src/main/java/cc/polyfrost/oneconfig/events/event/KeyInputEvent.java
new file mode 100644
index 0000000..15056d6
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/events/event/KeyInputEvent.java
@@ -0,0 +1,4 @@
+package cc.polyfrost.oneconfig.events.event;
+
+public class KeyInputEvent {
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/events/event/MouseInputEvent.java b/src/main/java/cc/polyfrost/oneconfig/events/event/MouseInputEvent.java
new file mode 100644
index 0000000..e2373ef
--- /dev/null
+++ b/src/main/java/cc/polyfrost/oneconfig/events/event/MouseInputEvent.java
@@ -0,0 +1,4 @@
+package cc.polyfrost.oneconfig.events.event;
+
+public class MouseInputEvent {
+}
diff --git a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java
index 1aa5d66..aa215a4 100644
--- a/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java
+++ b/src/main/java/cc/polyfrost/oneconfig/gui/elements/config/ConfigKeyBind.java
@@ -23,7 +23,7 @@ public class ConfigKeyBind extends BasicOption {
super(field, parent, name, category, subcategory, size);
button = new BasicButton(256, 32, "", SVGs.KEYSTROKE, null, BasicButton.ALIGNMENT_JUSTIFIED, ColorPalette.SECONDARY);
button.setToggleable(true);
- KeyBindHandler.addKeyBind(getKeyBind());
+ KeyBindHandler.INSTANCE.addKeyBind(getKeyBind());
}
public static ConfigKeyBind create(Field field, Object parent) {
diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/OneConfig.java b/src/main/java/cc/polyfrost/oneconfig/internal/OneConfig.java
index c3e2750..efc4324 100644
--- a/src/main/java/cc/polyfrost/oneconfig/internal/OneConfig.java
+++ b/src/main/java/cc/polyfrost/oneconfig/internal/OneConfig.java
@@ -13,7 +13,6 @@ import cc.polyfrost.oneconfig.internal.hud.HudCore;
import cc.polyfrost.oneconfig.utils.commands.CommandManager;
import cc.polyfrost.oneconfig.utils.gui.GuiUtils;
import cc.polyfrost.oneconfig.utils.hypixel.HypixelUtils;
-import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.fml.common.DummyModContainer;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.ModContainer;
@@ -75,7 +74,7 @@ public class OneConfig {
CommandManager.INSTANCE.registerCommand(OneConfigCommand.class);
EventManager.INSTANCE.register(new HudCore());
EventManager.INSTANCE.register(HypixelUtils.INSTANCE);
- MinecraftForge.EVENT_BUS.register(new KeyBindHandler());
+ EventManager.INSTANCE.register(KeyBindHandler.INSTANCE);
reloadModsList();
initialized = true;
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/config/core/ConfigCore.java b/src/main/java/cc/polyfrost/oneconfig/internal/config/core/ConfigCore.java
index 5a9dd0b..a1084a1 100644
--- a/src/main/java/cc/polyfrost/oneconfig/internal/config/core/ConfigCore.java
+++ b/src/main/java/cc/polyfrost/oneconfig/internal/config/core/ConfigCore.java
@@ -18,7 +18,7 @@ public class ConfigCore {
ArrayList<Mod> data = new ArrayList<>(oneConfigMods);
oneConfigMods.clear();
HudCore.huds.clear();
- KeyBindHandler.clearKeyBinds();
+ KeyBindHandler.INSTANCE.clearKeyBinds();
for (Mod modData : data) {
modData.config.init(modData);
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/config/core/KeyBindHandler.java b/src/main/java/cc/polyfrost/oneconfig/internal/config/core/KeyBindHandler.java
index da82951..6829ae4 100644
--- a/src/main/java/cc/polyfrost/oneconfig/internal/config/core/KeyBindHandler.java
+++ b/src/main/java/cc/polyfrost/oneconfig/internal/config/core/KeyBindHandler.java
@@ -1,27 +1,28 @@
package cc.polyfrost.oneconfig.internal.config.core;
import cc.polyfrost.oneconfig.config.core.OneKeyBind;
-import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
-import net.minecraftforge.fml.common.gameevent.InputEvent;
+import cc.polyfrost.oneconfig.events.event.KeyInputEvent;
+import cc.polyfrost.oneconfig.libs.eventbus.Subscribe;
import java.util.ArrayList;
public class KeyBindHandler {
- private static final ArrayList<OneKeyBind> keyBinds = new ArrayList<>();
+ public static final KeyBindHandler INSTANCE = new KeyBindHandler();
+ private final ArrayList<OneKeyBind> keyBinds = new ArrayList<>();
- @SubscribeEvent
- public void onKeyPressed(InputEvent.KeyInputEvent event) {
+ @Subscribe
+ private void onKeyPressed(KeyInputEvent event) {
for (OneKeyBind keyBind : keyBinds) {
if (keyBind.isActive()) keyBind.run();
}
}
- public static void addKeyBind(OneKeyBind keyBind) {
+ public void addKeyBind(OneKeyBind keyBind) {
if (keyBind == null) return;
keyBinds.add(keyBind);
}
- public static void clearKeyBinds() {
+ public void clearKeyBinds() {
keyBinds.clear();
}
}
diff --git a/src/main/java/cc/polyfrost/oneconfig/internal/mixin/MinecraftMixin.java b/src/main/java/cc/polyfrost/oneconfig/internal/mixin/MinecraftMixin.java
index 8a28bed..6308fdb 100644
--- a/src/main/java/cc/polyfrost/oneconfig/internal/mixin/MinecraftMixin.java
+++ b/src/main/java/cc/polyfrost/oneconfig/internal/mixin/MinecraftMixin.java
@@ -74,4 +74,14 @@ public class MinecraftMixin {
private void onDeltaTickTimerUpdate(CallbackInfo ci) {
EventManager.INSTANCE.post(new TimerUpdateEvent(timer, true));
}
+
+ @Inject(method = "runTick", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/common/FMLCommonHandler;fireKeyInput()V"))
+ private void onKeyEvent(CallbackInfo ci) {
+ EventManager.INSTANCE.post(new KeyInputEvent());
+ }
+
+ @Inject(method = "runTick", at = @At(value = "INVOKE", target = "Lnet/minecraftforge/fml/common/FMLCommonHandler;fireMouseInput()V"))
+ private void onMouseEvent(CallbackInfo ci) {
+ EventManager.INSTANCE.post(new MouseInputEvent());
+ }
}