diff options
author | Linnea Gräf <nea@nea.moe> | 2024-11-18 20:53:20 +0100 |
---|---|---|
committer | Linnea Gräf <nea@nea.moe> | 2024-11-18 20:53:20 +0100 |
commit | 139fa705b36b845759cff9318191ff1cca526f2a (patch) | |
tree | a8e297627a078ac97abe03f0e56ea7e3744db042 /src/main/java/moe/nea/firmament/mixins/customgui | |
parent | d37d13dacad45af717e1f97488e739ef617fd89d (diff) | |
download | Firmament-139fa705b36b845759cff9318191ff1cca526f2a.tar.gz Firmament-139fa705b36b845759cff9318191ff1cca526f2a.tar.bz2 Firmament-139fa705b36b845759cff9318191ff1cca526f2a.zip |
feat: Add Storage overlay search
Diffstat (limited to 'src/main/java/moe/nea/firmament/mixins/customgui')
-rw-r--r-- | src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java b/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java index 814f172..6e1090a 100644 --- a/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java +++ b/src/main/java/moe/nea/firmament/mixins/customgui/PatchHandledScreen.java @@ -5,6 +5,7 @@ import com.llamalad7.mixinextras.injector.v2.WrapWithCondition; import com.llamalad7.mixinextras.injector.wrapoperation.Operation; import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; import com.llamalad7.mixinextras.sugar.Local; +import moe.nea.firmament.events.HandledScreenKeyReleasedEvent; import moe.nea.firmament.util.customgui.CoordRememberingSlot; import moe.nea.firmament.util.customgui.CustomGui; import moe.nea.firmament.util.customgui.HasCustomGui; @@ -73,6 +74,16 @@ public class PatchHandledScreen<T extends ScreenHandler> extends Screen implemen return override != null && override.mouseScrolled(mouseX, mouseY, horizontalAmount, verticalAmount); } + public boolean keyReleased_firmament(int keyCode, int scanCode, int modifiers) { + if (HandledScreenKeyReleasedEvent.Companion.publish(new HandledScreenKeyReleasedEvent((HandledScreen<?>) (Object) this, keyCode, scanCode, modifiers)).getCancelled()) + return true; + return override != null && override.keyReleased(keyCode, scanCode, modifiers); + } + + public boolean charTyped_firmament(char chr, int modifiers) { + return override != null && override.charTyped(chr, modifiers); + } + @Inject(method = "init", at = @At("TAIL")) private void onInit(CallbackInfo ci) { if (override != null) { @@ -179,6 +190,16 @@ public class PatchHandledScreen<T extends ScreenHandler> extends Screen implemen } } + @Inject(method = "keyPressed", at = @At("HEAD"), cancellable = true) + private void overrideKeyPressed(int keyCode, int scanCode, int modifiers, CallbackInfoReturnable<Boolean> cir) { + if (override != null) { + if (override.keyPressed(keyCode, scanCode, modifiers)) { + cir.setReturnValue(true); + } + } + } + + @Inject( method = "mouseReleased", at = @At("HEAD"), cancellable = true) |