Răsfoiți Sursa

Fix Chocohead/OptiFabric#147

shedaniel 4 ani în urmă
părinte
comite
26c04a60c4

+ 1 - 1
build.gradle

@@ -1,6 +1,6 @@
 plugins {
 plugins {
     id "architectury-plugin" version "1.3.45"
     id "architectury-plugin" version "1.3.45"
-    id "forgified-fabric-loom" version "0.5.26" apply false
+    id "forgified-fabric-loom" version "0.5.28" apply false
     id "org.cadixdev.licenser" version "0.5.0"
     id "org.cadixdev.licenser" version "0.5.0"
     id "com.jfrog.bintray" version "1.8.4"
     id "com.jfrog.bintray" version "1.8.4"
     id "com.matthewprenger.cursegradle" version "1.4.0" apply false
     id "com.matthewprenger.cursegradle" version "1.4.0" apply false

+ 18 - 4
fabric/src/main/java/me/shedaniel/architectury/mixin/fabric/client/MixinKeyboardHandler.java

@@ -44,8 +44,7 @@ public class MixinKeyboardHandler {
     @Shadow
     @Shadow
     private boolean sendRepeatsToGui;
     private boolean sendRepeatsToGui;
     
     
-    @SuppressWarnings("UnresolvedMixinReference")
-    @ModifyVariable(method = {"method_1458", "lambda$charTyped$5"}, at = @At("HEAD"), ordinal = 0, argsOnly = true)
+    @ModifyVariable(method = {"method_1458", "lambda$charTyped$5"}, at = @At("HEAD"), require = 0, ordinal = 0, argsOnly = true)
     private static GuiEventListener wrapCharTypedFirst(GuiEventListener screen) {
     private static GuiEventListener wrapCharTypedFirst(GuiEventListener screen) {
         if (screen instanceof ScreenInputDelegate) {
         if (screen instanceof ScreenInputDelegate) {
             return ((ScreenInputDelegate) screen).architectury_delegateInputs();
             return ((ScreenInputDelegate) screen).architectury_delegateInputs();
@@ -53,8 +52,7 @@ public class MixinKeyboardHandler {
         return screen;
         return screen;
     }
     }
     
     
-    @SuppressWarnings("UnresolvedMixinReference")
-    @ModifyVariable(method = {"method_1473", "lambda$charTyped$6"}, at = @At("HEAD"), ordinal = 0, argsOnly = true)
+    @ModifyVariable(method = {"method_1473", "lambda$charTyped$6"}, at = @At("HEAD"), require = 0, ordinal = 0, argsOnly = true)
     private static GuiEventListener wrapCharTypedSecond(GuiEventListener screen) {
     private static GuiEventListener wrapCharTypedSecond(GuiEventListener screen) {
         if (screen instanceof ScreenInputDelegate) {
         if (screen instanceof ScreenInputDelegate) {
             return ((ScreenInputDelegate) screen).architectury_delegateInputs();
             return ((ScreenInputDelegate) screen).architectury_delegateInputs();
@@ -62,6 +60,22 @@ public class MixinKeyboardHandler {
         return screen;
         return screen;
     }
     }
     
     
+    @ModifyVariable(method = "lambda$onCharEvent$5", at = @At("HEAD"), require = 0, ordinal = 0, argsOnly = true)
+    private GuiEventListener wrapCharTypedFirstOptiFabric(GuiEventListener screen) {
+        if (screen instanceof ScreenInputDelegate) {
+            return ((ScreenInputDelegate) screen).architectury_delegateInputs();
+        }
+        return screen;
+    }
+    
+    @ModifyVariable(method = "lambda$onCharEvent$6", at = @At("HEAD"), require = 0, ordinal = 0, argsOnly = true)
+    private GuiEventListener wrapCharTypedSecondOptiFabric(GuiEventListener screen) {
+        if (screen instanceof ScreenInputDelegate) {
+            return ((ScreenInputDelegate) screen).architectury_delegateInputs();
+        }
+        return screen;
+    }
+    
     @Inject(method = "keyPress", at = @At(value = "INVOKE",
     @Inject(method = "keyPress", at = @At(value = "INVOKE",
                                           target = "Lnet/minecraft/client/gui/screens/Screen;wrapScreenError(Ljava/lang/Runnable;Ljava/lang/String;Ljava/lang/String;)V",
                                           target = "Lnet/minecraft/client/gui/screens/Screen;wrapScreenError(Ljava/lang/Runnable;Ljava/lang/String;Ljava/lang/String;)V",
                                           ordinal = 0), cancellable = true)
                                           ordinal = 0), cancellable = true)