77import net .minecraft .client .gui .screen .Screen ;
88import net .minecraft .client .gui .tooltip .Tooltip ;
99import net .minecraft .client .gui .widget .ButtonWidget ;
10+ import net .minecraft .text .MutableText ;
1011import net .minecraft .text .Text ;
12+ import net .minecraft .text .TranslatableTextContent ;
1113import net .minecraft .util .Identifier ;
1214import org .spongepowered .asm .mixin .Mixin ;
1315import org .spongepowered .asm .mixin .Unique ;
@@ -34,24 +36,27 @@ private void init(CallbackInfo info) {
3436 int buttonHeight = 20 ;
3537
3638 for (Element widget : ((GameMenuScreen ) (Object ) this ).children ()) {
37- if (widget instanceof ButtonWidget button &&
38- (button .getMessage ().getString ().equals ("Моды" ) || button .getMessage ().getString ().equals ("Mods" ))) {
39+ if (widget instanceof ButtonWidget button ) {
40+ Text buttonText = button .getMessage ();
41+ if (buttonText .getContent () instanceof TranslatableTextContent translatableText &&
42+ translatableText .getKey ().equals ("menu.modded" )) {
3943
40- int buttonX = button .getX () - buttonWidth - 4 ;
41- int buttonY = button .getY ();
44+ int buttonX = button .getX () - buttonWidth - 4 ;
45+ int buttonY = button .getY ();
4246
43- Text tooltipText = Text .translatable ("text.spmhelper.current_screen" )
44- .append (Text .translatable ("text.spmhelper.screen_type." + SPmHelperConfig .get ().defaultScreen .name ().toLowerCase ()));
47+ Text tooltipText = Text .translatable ("text.spmhelper.current_screen" )
48+ .append (Text .translatable ("text.spmhelper.screen_type." + SPmHelperConfig .get ().defaultScreen .name ().toLowerCase ()));
4549
46- this .menuButton = ButtonWidget .builder (
47- Text .literal ("" ),
48- btn -> openSelectedScreen ())
49- .dimensions (buttonX , buttonY , buttonWidth , buttonHeight )
50- .tooltip (Tooltip .of (tooltipText ))
51- .build ();
50+ this .menuButton = ButtonWidget .builder (
51+ Text .literal ("" ),
52+ btn -> openSelectedScreen ())
53+ .dimensions (buttonX , buttonY , buttonWidth , buttonHeight )
54+ .tooltip (Tooltip .of (tooltipText ))
55+ .build ();
5256
53- this .addDrawableChild (menuButton );
54- break ;
57+ this .addDrawableChild (menuButton );
58+ break ;
59+ }
5560 }
5661 }
5762 }
@@ -75,16 +80,18 @@ private void openSelectedScreen() {
7580
7681 @ Inject (method = "render" , at = @ At ("TAIL" ))
7782 private void onRender (DrawContext context , int mouseX , int mouseY , float delta , CallbackInfo ci ) {
78- int iconSize = 16 ;
79- int x = menuButton .getX () + (menuButton .getWidth () - iconSize ) / 2 ;
80- int y = menuButton .getY () + (menuButton .getHeight () - iconSize ) / 2 ;
81- Identifier BUTTON_ICON = Identifier .of ("spmhelper" , "gui/bookwithfeather.png" );
82- context .drawTexture (
83- BUTTON_ICON ,
84- x , y ,
85- 0 , 0 ,
86- iconSize , iconSize ,
87- iconSize , iconSize
88- );
83+ if (SPmHelperConfig .get ().enableMenuButton ) {
84+ int iconSize = 16 ;
85+ int x = menuButton .getX () + (menuButton .getWidth () - iconSize ) / 2 ;
86+ int y = menuButton .getY () + (menuButton .getHeight () - iconSize ) / 2 ;
87+ Identifier BUTTON_ICON = Identifier .of ("spmhelper" , "gui/bookwithfeather.png" );
88+ context .drawTexture (
89+ BUTTON_ICON ,
90+ x , y ,
91+ 0 , 0 ,
92+ iconSize , iconSize ,
93+ iconSize , iconSize
94+ );
95+ }
8996 }
9097}
0 commit comments