CLASS net/minecraft/class_5289 net/minecraft/client/gui/screen/ingame/GameModeSwitcherScreen FIELD field_24566 TEXTURE Lnet/minecraft/class_2960; FIELD field_24567 WIDTH I FIELD field_24568 previousGameMode Ljava/util/Optional; FIELD field_24569 selectedGameMode Ljava/util/Optional; FIELD field_24570 cachedMouseX I FIELD field_24571 cachedMouseY I FIELD field_24572 useMouse Z FIELD field_24573 gameModeButtons Ljava/util/List; METHOD method_28063 drawText (Lnet/minecraft/class_4587;Ljava/lang/String;Ljava/lang/String;II)V ARG 1 matrices ARG 2 pressF4 ARG 3 selectNext ARG 4 y ARG 5 x METHOD method_28064 switchGameMode (Lnet/minecraft/class_310;Ljava/util/Optional;)V ARG 0 client ARG 1 gameMode METHOD method_28068 onClose ()V METHOD method_28069 shouldClose ()Z CLASS class_5290 GameMode FIELD field_24580 MODES [Lnet/minecraft/class_5289$class_5290; FIELD field_24581 name Lnet/minecraft/class_2561; FIELD field_24582 command Ljava/lang/String; FIELD field_24583 icon Lnet/minecraft/class_1799; METHOD (Ljava/lang/String;ILnet/minecraft/class_2561;Ljava/lang/String;Lnet/minecraft/class_1799;)V ARG 3 name ARG 4 command ARG 5 icon METHOD method_28070 getName ()Lnet/minecraft/class_2561; METHOD method_28074 renderIcon (Lnet/minecraft/class_918;II)V ARG 1 itemRenderer ARG 2 x ARG 3 y METHOD method_28075 getCommand ()Ljava/lang/String; METHOD method_28076 fromGameMode (Lnet/minecraft/class_1934;)Ljava/util/Optional; ARG 0 gameMode METHOD method_28078 getNext ()Ljava/util/Optional; CLASS class_5291 Button FIELD field_24586 gameMode Lnet/minecraft/class_5289$class_5290; FIELD field_24587 selected Z METHOD (Lnet/minecraft/class_5289;Lnet/minecraft/class_5289$class_5290;II)V ARG 2 gameMode ARG 3 x ARG 4 y METHOD method_28080 render (Lnet/minecraft/class_4587;Lnet/minecraft/class_1060;)V ARG 1 matrices ARG 2 textureManager METHOD method_28082 renderSelected (Lnet/minecraft/class_4587;Lnet/minecraft/class_1060;)V ARG 1 matrices ARG 2 textureManager METHOD method_28083 select (Z)V ARG 1 selected