Skip to content

Commit d9c6f1c

Browse files
authored
Fix #157 (#158)
* Fixes #157 Replaced Injection mixins with WrapOperation mixins. Not really sure why the previous ones broke, they seemed correct. * Removes unused imports Removes accidental imports from the MouseHandler mixins for both the Fabric and Norge modules. * Fixed incorrect intends and accidental space within else... (I Really need a new Keyboard)
1 parent 1dd9c33 commit d9c6f1c

File tree

2 files changed

+23
-12
lines changed

2 files changed

+23
-12
lines changed

mod_fabric/src/main/java/io/github/ennuil/ok_zoomer/mixin/fabric/MouseHandlerMixin.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
package io.github.ennuil.ok_zoomer.mixin.fabric;
22

3+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
35
import com.llamalad7.mixinextras.sugar.Local;
4-
import com.llamalad7.mixinextras.sugar.ref.LocalDoubleRef;
56
import io.github.ennuil.ok_zoomer.zoom.Zoom;
67
import net.minecraft.client.MouseHandler;
8+
import net.minecraft.client.player.LocalPlayer;
79
import org.spongepowered.asm.mixin.Mixin;
810
import org.spongepowered.asm.mixin.Unique;
911
import org.spongepowered.asm.mixin.injection.At;
@@ -27,20 +29,24 @@ private void captureMouseSensitivity(double movementTime, CallbackInfo ci, @Loca
2729
CURSOR_SENSITIVITY.set(f);
2830
}
2931

30-
@Inject(
32+
@WrapOperation(
3133
method = "turnPlayer",
3234
at = @At(
3335
value = "INVOKE",
3436
target = "Lnet/minecraft/client/player/LocalPlayer;turn(DD)V"
3537
)
3638
)
37-
private void applyZoomChanges(double movementTime, CallbackInfo ci, @Local(ordinal = 1) LocalDoubleRef i, @Local(ordinal = 2) LocalDoubleRef j) {
39+
private void applyZoomChanges(LocalPlayer instance, double x, double y, Operation<Void> original, double movementTime){
3840
if (Zoom.isModifierActive()) {
3941
double f = CURSOR_SENSITIVITY.get();
4042
double zoomDivisor = Zoom.isZooming() ? Zoom.getZoomDivisor() : 1.0;
4143
double transitionDivisor = Zoom.getTransitionMode().getInternalMultiplier();
42-
i.set(Zoom.getMouseModifier().applyXModifier(i.get(), f, movementTime, zoomDivisor, transitionDivisor));
43-
j.set(Zoom.getMouseModifier().applyYModifier(j.get(), f, movementTime, zoomDivisor, transitionDivisor));
44+
original.call(instance,
45+
Zoom.getMouseModifier().applyXModifier(x, f, movementTime, zoomDivisor, transitionDivisor),
46+
Zoom.getMouseModifier().applyYModifier(y, f, movementTime, zoomDivisor, transitionDivisor)
47+
);
48+
} else {
49+
original.call(instance, x, y);
4450
}
4551
CURSOR_SENSITIVITY.remove();
4652
}
Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,34 @@
11
package io.github.ennuil.ok_zoomer.mixin.norge;
22

3+
import com.llamalad7.mixinextras.injector.wrapoperation.Operation;
4+
import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation;
35
import com.llamalad7.mixinextras.sugar.Local;
4-
import com.llamalad7.mixinextras.sugar.ref.LocalDoubleRef;
56
import io.github.ennuil.ok_zoomer.zoom.Zoom;
67
import net.minecraft.client.MouseHandler;
8+
import net.minecraft.client.player.LocalPlayer;
79
import org.spongepowered.asm.mixin.Mixin;
810
import org.spongepowered.asm.mixin.injection.At;
9-
import org.spongepowered.asm.mixin.injection.Inject;
10-
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1111

1212
@Mixin(MouseHandler.class)
1313
public abstract class MouseHandlerMixin {
14-
@Inject(
14+
15+
@WrapOperation(
1516
method = "turnPlayer",
1617
at = @At(
1718
value = "INVOKE",
1819
target = "Lnet/minecraft/client/player/LocalPlayer;turn(DD)V"
1920
)
2021
)
21-
public void applyZoomChanges(double movementTime, CallbackInfo ci, @Local(ordinal = 4) LocalDoubleRef d0, @Local(ordinal = 5) LocalDoubleRef d1, @Local(ordinal = 3) double d4) {
22+
private void applyZoomChanges(LocalPlayer instance, double x, double y, Operation<Void> original, double movementTime, @Local(ordinal = 3) double cursorSpeed){
2223
if (Zoom.isModifierActive()) {
2324
double zoomDivisor = Zoom.isZooming() ? Zoom.getZoomDivisor() : 1.0;
2425
double transitionDivisor = Zoom.getTransitionMode().getInternalMultiplier();
25-
d0.set(Zoom.getMouseModifier().applyXModifier(d0.get(), d4, movementTime, zoomDivisor, transitionDivisor));
26-
d1.set(Zoom.getMouseModifier().applyYModifier(d1.get(), d4, movementTime, zoomDivisor, transitionDivisor));
26+
original.call(instance,
27+
Zoom.getMouseModifier().applyXModifier(x, cursorSpeed, movementTime, zoomDivisor, transitionDivisor),
28+
Zoom.getMouseModifier().applyYModifier(y, cursorSpeed, movementTime, zoomDivisor, transitionDivisor)
29+
);
30+
} else {
31+
original.call(instance, x, y);
2732
}
2833
}
2934
}

0 commit comments

Comments
 (0)