Minecraftクラスの変数screenについて(JE1.20.1)

いろいろな状態でMinecraftクラスのメンバ変数screenにScreenのどの子クラスが入っているのか、気になったので調べました。

screen!=nullな例

チェストのGUI(inventory.ContainerScreen)

クリエイティブインベントリ(inventory.CreativeModeInventoryScreen)

看板の編集画面(inventory.SignEditScreen)

tキーで開くチャット(ChatScreen)

ベッドで寝ている時の画面(InBedChatScreen)

右クリックで本を開いた時の画面(inventory.BookViewScreen)

ポーズ画面(PauseScreen)

タイトル画面(TitleScreen)

赤い画面にMOJANGと表示しているのも同じTitleScreenです。

 

ワールド選択画面(worldselection.SelectWorldScreen)

Loading terrain...の画面(ReceivingLevelScreen)

ワールド選択画面からワールドを読み込むときは
-Reading world data...(GenericDirtMessageScreen)、
-何も書かれていない画面(ProgressScreen)、
-Preparing spawn area: x%(LevelLoadingScreen)、
-Joining world...(ProgressScreen)、
-Loading terrain...(ReceivingLevelScreen)
の順にスクリーンが変わります。
シングルプレイヤーのサーバー(IntegratedServer)が立つのはLevelLoadingScreenになったタイミングです。クライアントがサーバーから地形のデータを受け取っているのがReceivingLevelScreenです。
また、ネザーポータルなどでディメンションを移動するときは
-Joining world...(ProgressScreen)、
-Loading terrain...(ReceivingLevelScreen)
の順にスクリーンが表示されます。
ポーズ画面からセーブして終了を押した時は
-Saving world(GenericDirtMessageScreen)
になります。

 

新しいワールドを作る時の画面(worldselection.CreateWorldScreen)

タブ(Game,World,More)を切り替えても同じScreenのままです

 

screen==nullな例

流れてくるチャット

何もしないで立っている時

乗り物に乗っている時

望遠鏡の画面

まとめ

screen!=nullなときは、マウスカーソルが表示され、wasdで移動することができなくなっています。