1313import net .minecraft .client .gui .components .Button ;
1414import net .minecraft .client .gui .components .Renderable ;
1515import net .minecraft .client .gui .screens .Screen ;
16+ import net .minecraft .client .gui .screens .TitleScreen ;
17+ import net .minecraft .client .gui .screens .multiplayer .JoinMultiplayerScreen ;
1618import net .minecraft .client .input .KeyEvent ;
1719import net .minecraft .client .input .MouseButtonEvent ;
1820import net .minecraft .network .chat .Component ;
@@ -35,10 +37,9 @@ public AltLoginSuccessScreen(Screen nextScreen, String playerName)
3537 @ Override
3638 protected void init ()
3739 {
38- addRenderableWidget (Button
39- .builder (Component .literal ("Continue" ),
40- b -> minecraft .setScreen (nextScreen ))
41- .bounds (width / 2 - 100 , height / 2 + 48 , 200 , 20 ).build ());
40+ addRenderableWidget (
41+ Button .builder (Component .literal ("Continue" ), b -> openNextScreen ())
42+ .bounds (width / 2 - 100 , height / 2 + 48 , 200 , 20 ).build ());
4243 }
4344
4445 @ Override
@@ -82,7 +83,17 @@ public boolean mouseClicked(MouseButtonEvent context, boolean doubleClick)
8283 @ Override
8384 public void onClose ()
8485 {
85- minecraft .setScreen (nextScreen );
86+ openNextScreen ();
87+ }
88+
89+ private void openNextScreen ()
90+ {
91+ if (minecraft == null )
92+ return ;
93+
94+ Screen screenToOpen = nextScreen instanceof JoinMultiplayerScreen
95+ ? new JoinMultiplayerScreen (new TitleScreen ()) : nextScreen ;
96+ minecraft .setScreen (screenToOpen );
8697 }
8798
8899 @ Override
0 commit comments