CLASS net/minecraft/class_5289 net/minecraft/client/gui/screen/GameModeSelectionScreen
	FIELD field_24566 TEXTURE Lnet/minecraft/class_2960;
	FIELD field_24567 UI_WIDTH I
	FIELD field_24568 currentGameMode Ljava/util/Optional;
	FIELD field_24569 gameMode Ljava/util/Optional;
	FIELD field_24570 lastMouseX I
	FIELD field_24571 lastMouseY I
	FIELD field_24572 mouseUsedForSelection Z
	FIELD field_24573 gameModeButtons Ljava/util/List;
	METHOD method_28064 apply (Lnet/minecraft/class_310;Ljava/util/Optional;)V
		ARG 0 client
		ARG 1 gameMode
	METHOD method_28068 apply ()V
	METHOD method_28069 checkForClose ()Z
	CLASS class_5290 GameMode
		FIELD field_24580 VALUES [Lnet/minecraft/class_5289$class_5290;
		FIELD field_24581 text Lnet/minecraft/class_2561;
		FIELD field_24582 command Ljava/lang/String;
		FIELD field_24583 icon Lnet/minecraft/class_1799;
		METHOD <init> (Ljava/lang/String;ILnet/minecraft/class_2561;Ljava/lang/String;Lnet/minecraft/class_1799;)V
			ARG 4 command
			ARG 5 icon
		METHOD method_28070 getText ()Lnet/minecraft/class_2561;
		METHOD method_28074 renderIcon (Lnet/minecraft/class_918;II)V
			ARG 2 x
			ARG 3 y
		METHOD method_28075 getCommand ()Ljava/lang/String;
		METHOD method_28076 of (Lnet/minecraft/class_1934;)Ljava/util/Optional;
		METHOD method_28078 next ()Ljava/util/Optional;
	CLASS class_5291 ButtonWidget
		FIELD field_24586 gameMode Lnet/minecraft/class_5289$class_5290;
		FIELD field_24587 selected Z
		METHOD <init> (Lnet/minecraft/class_5289;Lnet/minecraft/class_5289$class_5290;II)V
			ARG 3 x
			ARG 4 y
		METHOD method_28080 drawBackground (Lnet/minecraft/class_4587;Lnet/minecraft/class_1060;)V
			ARG 1 matrices
		METHOD method_28082 drawSelectionBox (Lnet/minecraft/class_4587;Lnet/minecraft/class_1060;)V
			ARG 1 matrices
		METHOD method_28083 setSelected (Z)V
			ARG 1 selected
