From 23a5203a35174757e04bb7357f309fc5e2da0803 Mon Sep 17 00:00:00 2001 From: flmeyer Date: Wed, 5 Aug 2026 11:15:14 +0200 Subject: [PATCH 1/4] fix: fabric spellbook scrolling --- .../fabric/mixin/client/FabricMouseHandlerMixin.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java index 66e7bf3fc9..8e2974b688 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java @@ -1,17 +1,17 @@ package at.petrak.hexcasting.fabric.mixin.client; import at.petrak.hexcasting.fabric.event.MouseScrollCallback; +import com.llamalad7.mixinextras.sugar.Local; import net.minecraft.client.MouseHandler; 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.LocalCapture; @Mixin(MouseHandler.class) public class FabricMouseHandlerMixin { - @Inject(method = "onScroll", cancellable = true, locals = LocalCapture.CAPTURE_FAILSOFT, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/player/LocalPlayer;isSpectator()Z")) - private void onScroll(long winptr, double xOff, double yOff, CallbackInfo ci, double delta) { + @Inject(method = "onScroll", cancellable = true, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/player/LocalPlayer;isSpectator()Z")) + private void onScroll(long l, double d, double e, CallbackInfo ci, @Local(name = "n") int delta) { var cancel = MouseScrollCallback.EVENT.invoker().interact(delta); if (cancel) { ci.cancel(); From 50744be1f1869a61c0c6daa633ff789771817c13 Mon Sep 17 00:00:00 2001 From: flmeyer Date: Wed, 5 Aug 2026 11:54:59 +0200 Subject: [PATCH 2/4] chore: add changelog entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1be5e139fb..6e80258b99 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Fixed Entity Iota comparison to use `equals` on entity IDs instead of reference equality ([#1101](https://github.com/FallingColors/HexMod/pull/1101)) @IridescentVoid - Corrected field names of the codec for Pattern Iotas and add a graceful fallback for upgrading ([#1120](https://github.com/FallingColors/HexMod/pull/1120), [#1131](https://github.com/FallingColors/HexMod/pull/1131), [#1140](https://github.com/FallingColors/HexMod/pull/1140)) @Master-Bw3 @IridescentVoid +- Fixed spellbook scrolling being broken on Fabric ([#1237](https://github.com/FallingColors/HexMod/pull/1237)) @Olfi01 ### Internal From 0dc2defa30f9f3f10faa52739863bb95826064e0 Mon Sep 17 00:00:00 2001 From: Florian Meyer Date: Wed, 5 Aug 2026 21:36:00 +0200 Subject: [PATCH 3/4] chore: Undo rename of method parameters --- .../hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java b/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java index 8e2974b688..0dafff6333 100644 --- a/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java +++ b/Fabric/src/main/java/at/petrak/hexcasting/fabric/mixin/client/FabricMouseHandlerMixin.java @@ -11,7 +11,7 @@ @Mixin(MouseHandler.class) public class FabricMouseHandlerMixin { @Inject(method = "onScroll", cancellable = true, at = @At(value = "INVOKE", target = "Lnet/minecraft/client/player/LocalPlayer;isSpectator()Z")) - private void onScroll(long l, double d, double e, CallbackInfo ci, @Local(name = "n") int delta) { + private void onScroll(long winptr, double xOff, double yOff, CallbackInfo ci, @Local(name = "n") int delta) { var cancel = MouseScrollCallback.EVENT.invoker().interact(delta); if (cancel) { ci.cancel(); From 894374ef3786f3fdd65d615eebe8636e88d0b6f5 Mon Sep 17 00:00:00 2001 From: Florian Meyer Date: Wed, 5 Aug 2026 21:41:41 +0200 Subject: [PATCH 4/4] chore: revert changelog entry --- CHANGELOG.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e80258b99..1be5e139fb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,7 +26,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Fixed Entity Iota comparison to use `equals` on entity IDs instead of reference equality ([#1101](https://github.com/FallingColors/HexMod/pull/1101)) @IridescentVoid - Corrected field names of the codec for Pattern Iotas and add a graceful fallback for upgrading ([#1120](https://github.com/FallingColors/HexMod/pull/1120), [#1131](https://github.com/FallingColors/HexMod/pull/1131), [#1140](https://github.com/FallingColors/HexMod/pull/1140)) @Master-Bw3 @IridescentVoid -- Fixed spellbook scrolling being broken on Fabric ([#1237](https://github.com/FallingColors/HexMod/pull/1237)) @Olfi01 ### Internal