aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/moe/nea/firmament/mixins/customgui
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2024-11-18 20:53:20 +0100
committerLinnea Gräf <nea@nea.moe>2024-11-18 20:53:20 +0100
commit139fa705b36b845759cff9318191ff1cca526f2a (patch)
treea8e297627a078ac97abe03f0e56ea7e3744db042 /src/main/java/moe/nea/firmament/mixins/customgui
parentd37d13dacad45af717e1f97488e739ef617fd89d (diff)
downloadFirmament-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.java21
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)