44import com .redlimerl .speedrunigt .SpeedRunIGTUpdateChecker ;
55import com .redlimerl .speedrunigt .gui .screen .SpeedRunOptionScreen ;
66import com .redlimerl .speedrunigt .utils .ButtonWidgetHelper ;
7- import net .minecraft .client .MinecraftClient ;
87import net .minecraft .client .gui .DrawContext ;
98import net .minecraft .client .gui .screen .Screen ;
109import net .minecraft .client .gui .screen .option .OptionsScreen ;
1110import net .minecraft .client .gui .widget .ButtonWidget ;
1211import net .minecraft .client .gui .widget .DirectionalLayoutWidget ;
13- import net .minecraft .client .gui .widget .Positioner ;
1412import net .minecraft .text .Text ;
1513import net .minecraft .util .Identifier ;
1614import org .spongepowered .asm .mixin .Mixin ;
@@ -26,18 +24,26 @@ public class OptionsScreenMixin extends Screen {
2624 private static final Identifier ENDER_EYE = new Identifier ("textures/item/ender_eye.png" );
2725
2826 private ButtonWidget timerButton ;
27+ private DirectionalLayoutWidget headerWidget ;
2928
3029 protected OptionsScreenMixin (Text title ) {
3130 super (title );
3231 }
3332
34- @ Inject (method = "init" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/client/gui/widget/DirectionalLayoutWidget;add(Lnet/minecraft/client/gui/widget/Widget;)Lnet/minecraft/client/gui/widget/Widget;" , ordinal = 1 ))
33+ @ Inject (method = "init" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/client/gui/screen/option/OptionsScreen;initTabNavigation()V" ))
3534 private void onInit (CallbackInfo ci , @ Local (ordinal = 1 ) DirectionalLayoutWidget widget ) {
36- timerButton = widget .add (ButtonWidget .builder (Text .empty (), (buttonWidget ) -> {
35+ headerWidget = widget ;
36+ timerButton = ButtonWidgetHelper .create (0 , 0 , 20 , 20 , Text .empty (), (buttonWidget ) -> {
3737 if (this .client != null ) {
3838 this .client .setScreen (new SpeedRunOptionScreen (this ));
3939 }
40- }).size (20 , 20 ).build ());
40+ });
41+ this .addDrawableChild (timerButton );
42+ }
43+
44+ @ Inject (method = "initTabNavigation" , at = @ At ("TAIL" ))
45+ private void onRescale (CallbackInfo ci ) {
46+ timerButton .setPosition (headerWidget .getX () - 25 , headerWidget .getY ());
4147 }
4248
4349 @ Override
0 commit comments