summaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/mixins
diff options
context:
space:
mode:
authorRoman / Linnea Gräf <nea@nea.moe>2023-04-27 12:41:20 +0200
committerGitHub <noreply@github.com>2023-04-27 12:41:20 +0200
commit361ac65d7c3559884af9c400560218fed10b09f6 (patch)
tree72b51842f38d66e0d66535ea61775aa6c7e26f37 /src/main/java/at/hannibal2/skyhanni/mixins
parent2dd1970d6d31ea1e2bbfa30b57141ea9a4720834 (diff)
downloadskyhanni-361ac65d7c3559884af9c400560218fed10b09f6.tar.gz
skyhanni-361ac65d7c3559884af9c400560218fed10b09f6.tar.bz2
skyhanni-361ac65d7c3559884af9c400560218fed10b09f6.zip
The mixinification of custom keybinds (#62)
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/mixins')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/AccessorKeyBinding.java9
-rw-r--r--src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinKeyBinding.java22
2 files changed, 30 insertions, 1 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/AccessorKeyBinding.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/AccessorKeyBinding.java
index f19859468..53abc49dc 100644
--- a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/AccessorKeyBinding.java
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/AccessorKeyBinding.java
@@ -2,11 +2,18 @@ package at.hannibal2.skyhanni.mixins.transformers;
import net.minecraft.client.settings.KeyBinding;
import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.gen.Accessor;
import org.spongepowered.asm.mixin.gen.Invoker;
@Mixin(KeyBinding.class)
public interface AccessorKeyBinding {
+ @Accessor("pressTime")
+ int getPressTime_skyhanni();
+
+ @Accessor("pressTime")
+ void setPressTime_skyhanni(int pressTime);
+
@Invoker("unpressKey")
- void skyhanni_unpressKey();
+ void skyhanni_unpressKey();
}
diff --git a/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinKeyBinding.java b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinKeyBinding.java
new file mode 100644
index 000000000..35a9bc780
--- /dev/null
+++ b/src/main/java/at/hannibal2/skyhanni/mixins/transformers/MixinKeyBinding.java
@@ -0,0 +1,22 @@
+package at.hannibal2.skyhanni.mixins.transformers;
+
+import at.hannibal2.skyhanni.features.garden.farming.GardenCustomKeybinds;
+import net.minecraft.client.settings.KeyBinding;
+import org.spongepowered.asm.mixin.Mixin;
+import org.spongepowered.asm.mixin.injection.At;
+import org.spongepowered.asm.mixin.injection.Inject;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
+import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
+
+@Mixin(KeyBinding.class)
+public class MixinKeyBinding {
+ @Inject(method = "onTick", at = @At("HEAD"), cancellable = true)
+ private static void noOnTick(int keyCode, CallbackInfo ci) {
+ GardenCustomKeybinds.onTick(keyCode, ci);
+ }
+
+ @Inject(method = "isKeyDown", at = @At("HEAD"), cancellable = true)
+ public void noIsKeyDown(CallbackInfoReturnable<Boolean> cir) {
+ GardenCustomKeybinds.isKeyDown((KeyBinding) (Object) this, cir);
+ }
+}