Skip to content

Commit c4741af

Browse files
Merge remote-tracking branch 'origin/1.19.4-forge' into 1.20.1-forge
2 parents 50f882d + 6329181 commit c4741af

3 files changed

Lines changed: 28 additions & 1 deletion

File tree

src/main/java/cam72cam/mod/gui/screen/ScreenBuilder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ public boolean keyPressed(int typedChar, int keyCode, int mods) {
138138
close();
139139
return true;
140140
}
141+
//See cam72cam.mod.mixin.fix.screen_navigation.MixinScreen
141142
if (super.keyPressed(typedChar, keyCode, mods)) {
142143
return true;
143144
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package cam72cam.mod.mixin.fix.screen_navigation;
2+
3+
import cam72cam.mod.gui.screen.ScreenBuilder;
4+
import net.minecraft.client.gui.screens.Screen;
5+
import org.spongepowered.asm.mixin.Mixin;
6+
import org.spongepowered.asm.mixin.injection.At;
7+
import org.spongepowered.asm.mixin.injection.Inject;
8+
import org.spongepowered.asm.mixin.injection.callback.CallbackInfoReturnable;
9+
10+
/**
11+
* Bypass vanilla's arrow/tab button handling, make it aligned with 1.12.2
12+
*/
13+
@Mixin(Screen.class)
14+
public class MixinScreen {
15+
@Inject(method = "keyPressed", at = @At(value = "INVOKE", target = "Lnet/minecraft/client/gui/components/events/AbstractContainerEventHandler;nextFocusPath(Lnet/minecraft/client/gui/navigation/FocusNavigationEvent;)Lnet/minecraft/client/gui/ComponentPath;", ordinal = 0), cancellable = true)
16+
public void check(int p_96552_, int p_96553_, int p_96554_, CallbackInfoReturnable<Boolean> cir) {
17+
//If the event is created, cancel it
18+
//We don't want widget focusing controlled by keys, especially when using textfield
19+
Screen self = (Screen) (Object) this;
20+
if (self instanceof ScreenBuilder) {
21+
cir.setReturnValue(false);
22+
cir.cancel();
23+
}
24+
}
25+
}

src/main/resources/mixins.fix.universalmodcore.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
"client": [
1414
"altas_loader.MixinSpriteResourceLoader",
1515
"block_replacement.MixinBlockStatePredictionHandler",
16-
"direct_draw_call.MixinLevelRenderer"
16+
"direct_draw_call.MixinLevelRenderer",
17+
"screen_navigation.MixinScreen"
1718
]
1819
}

0 commit comments

Comments
 (0)