Skip to content

Commit 423fd8b

Browse files
committed
Did things the right way this time.
1 parent 9849807 commit 423fd8b

3 files changed

Lines changed: 22 additions & 12 deletions

File tree

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package xyz.imcodist.mixins;
2+
3+
import net.minecraft.client.option.KeyBinding;
4+
import org.spongepowered.asm.mixin.Mixin;
5+
import org.spongepowered.asm.mixin.gen.Accessor;
6+
7+
@Mixin(KeyBinding.class)
8+
public interface KeyBindingMixin {
9+
@Accessor("timesPressed")
10+
void setTimesPressed(int timesPressed);
11+
}

src/main/java/xyz/imcodist/other/KeybindHandler.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import net.minecraft.client.MinecraftClient;
44
import net.minecraft.client.option.KeyBinding;
5+
import xyz.imcodist.mixins.KeyBindingMixin;
56

6-
import java.lang.reflect.Field;
77
import java.util.ArrayList;
88

99
public class KeybindHandler {
@@ -23,16 +23,13 @@ public static void runQueue() {
2323
}
2424

2525
for (KeyBinding keyBinding : queuedKeys) {
26-
try {
27-
Field field = keyBinding.getClass().getDeclaredField("timesPressed");
28-
field.setAccessible(true);
26+
KeyBindingMixin keyBindingMixin = (KeyBindingMixin) keyBinding;
2927

30-
keyBinding.setPressed(true);
31-
field.set(keyBinding, 1);
28+
keyBindingMixin.setTimesPressed(1);
29+
keyBinding.setPressed(true);
3230

33-
didPress = true;
34-
queuedRelease.add(keyBinding);
35-
} catch (Exception ignored) {}
31+
didPress = true;
32+
queuedRelease.add(keyBinding);
3633
}
3734

3835
queuedKeys.clear();

src/main/resources/quickmenu.mixins.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
{
2-
"required": false,
3-
"package": "",
2+
"required": true,
3+
"package": "xyz.imcodist.mixins",
44
"compatibilityLevel": "JAVA_17",
5-
"mixins": [],
5+
"client": [
6+
"KeyBindingMixin"
7+
],
68
"injectors": {
79
"defaultRequire": 1
810
}

0 commit comments

Comments
 (0)