Skip to content

Commit 1e8b1df

Browse files
committed
Changed some mixins injections
1 parent 6790b29 commit 1e8b1df

File tree

2 files changed

+24
-25
lines changed

2 files changed

+24
-25
lines changed

src/main/java/com/lambda/mixin/input/KeyboardMixin.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
import com.lambda.event.EventFlow;
2121
import com.lambda.event.events.KeyboardEvent;
2222
import com.lambda.module.modules.player.InventoryMove;
23+
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
24+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
2325
import net.minecraft.client.Keyboard;
2426
import net.minecraft.client.option.KeyBinding;
2527
import net.minecraft.client.util.InputUtil;
@@ -30,9 +32,10 @@
3032

3133
@Mixin(Keyboard.class)
3234
public class KeyboardMixin {
33-
@Inject(method = "onKey", at = @At("HEAD"))
34-
private void onKey(long window, int key, int scancode, int action, int modifiers, CallbackInfo ci) {
35+
@WrapMethod(method = "onKey")
36+
private void onKey(long window, int key, int scancode, int action, int modifiers, Operation<Void> original) {
3537
EventFlow.post(new KeyboardEvent.Press(key, scancode, action, modifiers));
38+
original.call(window, key, scancode, action, modifiers);
3639
}
3740

3841
@Inject(method = "onKey", at = @At("RETURN"))
@@ -42,12 +45,13 @@ private void onKeyTail(long window, int key, int scancode, int action, int modif
4245
KeyBinding.setKeyPressed(fromCode, action != 0);
4346
}
4447

45-
@Inject(method = "onChar", at = @At("HEAD"))
46-
private void onChar(long window, int codePoint, int modifiers, CallbackInfo ci) {
48+
@WrapMethod(method = "onChar")
49+
private void onChar(long window, int codePoint, int modifiers, Operation<Void> original) {
4750
char[] chars = Character.toChars(codePoint);
4851

49-
for (char c : chars) {
52+
for (char c : chars)
5053
EventFlow.post(new KeyboardEvent.Char(c));
51-
}
54+
55+
original.call(window, codePoint, modifiers);
5256
}
5357
}

src/main/java/com/lambda/mixin/input/MouseMixin.java

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -21,49 +21,44 @@
2121
import com.lambda.event.events.MouseEvent;
2222
import com.lambda.module.modules.render.Zoom;
2323
import com.lambda.util.math.Vec2d;
24+
import com.llamalad7.mixinextras.injector.wrapmethod.WrapMethod;
25+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
2426
import net.minecraft.client.Mouse;
2527
import net.minecraft.client.option.GameOptions;
2628
import net.minecraft.client.option.SimpleOption;
2729
import org.spongepowered.asm.mixin.Mixin;
2830
import org.spongepowered.asm.mixin.Shadow;
2931
import org.spongepowered.asm.mixin.injection.At;
30-
import org.spongepowered.asm.mixin.injection.Inject;
3132
import org.spongepowered.asm.mixin.injection.Redirect;
32-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
3333

3434
@Mixin(Mouse.class)
3535
public class MouseMixin {
3636
@Shadow private double x;
3737

3838
@Shadow private double y;
3939

40-
@Inject(method = "onMouseButton(JIII)V", at = @At("HEAD"), cancellable = true)
41-
private void onMouseButton(long window, int button, int action, int mods, CallbackInfo ci) {
42-
Vec2d position = new Vec2d(x, y);
43-
44-
if (EventFlow.post(new MouseEvent.Click(button, action, mods, position)).isCanceled()) {
45-
ci.cancel();
46-
}
40+
@WrapMethod(method = "onMouseButton(JIII)V")
41+
private void onMouseButton(long window, int button, int action, int mods, Operation<Void> original) {
42+
if (!EventFlow.post(new MouseEvent.Click(button, action, mods)).isCanceled())
43+
original.call(window, button, action, mods);
4744
}
4845

49-
@Inject(method = "onMouseScroll(JDD)V", at = @At("HEAD"), cancellable = true)
50-
private void onMouseScroll(long window, double horizontal, double vertical, CallbackInfo ci) {
46+
@WrapMethod(method = "onMouseScroll(JDD)V")
47+
private void onMouseScroll(long window, double horizontal, double vertical, Operation<Void> original) {
5148
Vec2d delta = new Vec2d(horizontal, vertical);
5249

53-
if (EventFlow.post(new MouseEvent.Scroll(delta)).isCanceled()) {
54-
ci.cancel();
55-
}
50+
if (!EventFlow.post(new MouseEvent.Scroll(delta)).isCanceled())
51+
original.call(window, horizontal, vertical);
5652
}
5753

58-
@Inject(method = "onCursorPos(JDD)V", at = @At("HEAD"), cancellable = true)
59-
private void onCursorPos(long window, double x, double y, CallbackInfo ci) {
54+
@WrapMethod(method = "onCursorPos(JDD)V")
55+
private void onCursorPos(long window, double x, double y, Operation<Void> original) {
6056
if (x + y == this.x + this.y) return;
6157

6258
Vec2d position = new Vec2d(x, y);
6359

64-
if (EventFlow.post(new MouseEvent.Move(position)).isCanceled()) {
65-
ci.cancel();
66-
}
60+
if (!EventFlow.post(new MouseEvent.Move(position)).isCanceled())
61+
original.call(window, x, y);
6762
}
6863

6964
@Redirect(method = "updateMouse", at = @At(value = "FIELD", target = "Lnet/minecraft/client/option/GameOptions;smoothCameraEnabled:Z"))

0 commit comments

Comments
 (0)