11package se .icus .mag .modsettings .gui ;
22
3- import java .util .Optional ;
3+ import java .util .List ;
44import net .fabricmc .fabric .api .client .screen .v1 .Screens ;
55import net .minecraft .client .MinecraftClient ;
6- import net .minecraft .client .gui .screen .GameMenuScreen ;
76import net .minecraft .client .gui .screen .Screen ;
8- import net .minecraft .client .gui .screen .TitleScreen ;
97import net .minecraft .client .gui .widget .ClickableWidget ;
10- import net .minecraft .client .gui .widget .GridWidget ;
11- import net .minecraft .text .MutableText ;
128import net .minecraft .text .Text ;
13- import net .minecraft .text .TranslatableTextContent ;
14-
15- import java .util .List ;
16- import se .icus .mag .modsettings .mixin .GridWidgetAccessor ;
179
1810public abstract class MenuScreensChanger {
1911 private static final int TITLE_FULL_BUTTON_WIDTH = 200 ;
@@ -22,17 +14,14 @@ public abstract class MenuScreensChanger {
2214 private static final int BUTTON_HEIGHT = 20 ;
2315 private static final int BUTTON_VERICAL_SPACING = 24 ;
2416
25- public static void postTitleScreenInit (TitleScreen screen ) {
17+ public static void postTitleScreenInit (Screen screen ) {
2618 List <ClickableWidget > buttons = Screens .getButtons (screen );
27- injectModSettingsButton (screen , buttons , TITLE_FULL_BUTTON_WIDTH , 2 , BUTTON_VERICAL_SPACING / 2 );
19+ injectModSettingsButton (screen , buttons , TITLE_FULL_BUTTON_WIDTH , 2 , BUTTON_VERICAL_SPACING / 2 );
2820 }
2921
30- public static void postGameMenuScreenInit (GameMenuScreen screen ) {
31- Optional <ClickableWidget > gridWidgetOpt = Screens .getButtons (screen ).stream ().filter (w -> w instanceof GridWidget ).findFirst ();
32- if (gridWidgetOpt .isEmpty ()) return ;
33-
34- List <ClickableWidget > buttons = ((GridWidgetAccessor ) gridWidgetOpt .get ()).getChildren ();
35- injectModSettingsButton (screen , buttons , INGAME_FULL_BUTTON_WIDTH , 4 , 0 );
22+ public static void postGameMenuScreenInit (Screen screen ) {
23+ List <ClickableWidget > buttons = Screens .getButtons (screen );
24+ injectModSettingsButton (screen , buttons , INGAME_FULL_BUTTON_WIDTH , 4 , 0 );
3625 }
3726
3827 private static void injectModSettingsButton (Screen screen , List <ClickableWidget > buttons , int fullButtonWidth ,
@@ -85,8 +74,7 @@ private static void injectModSettingsButton(Screen screen, List<ClickableWidget>
8574
8675 private static boolean buttonHasText (ClickableWidget button , String translationKey ) {
8776 Text text = button .getMessage ();
88- return text instanceof MutableText mutableText &&
89- mutableText .getContent ().equals (new TranslatableTextContent (translationKey ));
77+ return text .getContent ().equals (Text .translatable (translationKey ).getContent ());
9078 }
9179
9280 public static class ModSettingsButton extends Button {
0 commit comments