33import com .llamalad7 .mixinextras .sugar .Share ;
44import com .llamalad7 .mixinextras .sugar .ref .LocalRef ;
55import fast_reset .client .Client ;
6+ import net .minecraft .client .MinecraftClient ;
67import net .minecraft .client .gui .*;
78import net .minecraft .client .gui .screen .*;
89import net .minecraft .client .gui .widget .*;
10+ import net .minecraft .client .world .ClientWorld ;
911import net .minecraft .text .Text ;
1012import org .jetbrains .annotations .Nullable ;
1113import org .spongepowered .asm .mixin .*;
@@ -18,20 +20,21 @@ protected GameMenuMixin(Text title) {
1820 super (title );
1921 }
2022
21- @ Shadow
22- protected abstract void disconnect ();
23-
2423 @ Unique
2524 private static final int bottomRightWidth = 102 ;
2625
2726 @ Shadow
2827 private @ Nullable ButtonWidget exitButton ;
2928
29+ @ Shadow
30+ public static void disconnect (MinecraftClient client , Text disconnectReason ) {
31+ }
32+
3033 @ Redirect (method = "initWidgets" , at = @ At (value = "INVOKE" , target = "Lnet/minecraft/client/gui/widget/GridWidget$Adder;add(Lnet/minecraft/client/gui/widget/Widget;I)Lnet/minecraft/client/gui/widget/Widget;" ))
3134 private <T extends Widget > T addButtons (GridWidget .Adder instance , T widget , int occupiedColumns , @ Share ("saveButton" ) LocalRef <ButtonWidget .Builder > saveButtonStore , @ Share ("quitButton" ) LocalRef <T > quitButton ) {
3235 final ButtonWidget .Builder saveButton = ButtonWidget .builder (Text .translatable ("menu.quitWorld" ), (buttonWidgetX ) -> {
3336 Client .saveOnQuit = false ;
34- this . disconnect ();
37+ disconnect (this . client , ClientWorld . QUITTING_MULTIPLAYER_TEXT );
3538 Client .saveOnQuit = true ;
3639 });
3740 if (Client .buttonLocation == 2 ) {
0 commit comments