Skip to content

Commit

Permalink
Refactor select/edit world screens and related mappings (#490)
Browse files Browse the repository at this point in the history
* refactor WorldListWidget -> WorldEntryListWidget

* refactor `{Select, Edit}WorldScreen`s

* map WorldSaveSummary.ConversionWarning texts

* map CommonTexts.DISCONNECT

* map textSupplier lambda arg in ButtonWidget

* newly map all of SymlinkWarningScreen

* update SymlinkWarningScreen package

Is there some other process for updating packages I need to do?

* map LayoutWidgetWithTitledRowFactories

* complete LinearLayoutWidget mappings

* rename WorldInfo.getLevelName() to getName()

* map other add methods in GridWidget

* complete CreateWorldScreen mappings

* Apply suggestions from code review

Co-authored-by: ix0rai <[email protected]>

* WorldEntryListWidget.LoadingWorldEntry -> LoadingEntry

* fix whitespace in WorldEntryListWidget

* rename LayoutWidgetWithTitledRowFactories to LayoutWidgetFactories

---------

Co-authored-by: ix0rai <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
  • Loading branch information
3 people authored Sep 12, 2023
1 parent 2531020 commit 7d50b62
Show file tree
Hide file tree
Showing 13 changed files with 229 additions and 44 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
CLASS net/minecraft/unmapped/C_twjlxgie net/minecraft/client/gui/screen/SymlinkWarningScreen
FIELD f_aiosiosg PACK_SYMLINK_WARNING_TITLE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_bumywidx grid Lnet/minecraft/unmapped/C_qykucwmu;
FIELD f_clkeichn url Ljava/lang/String;
FIELD f_fnzmfcnq parent Lnet/minecraft/unmapped/C_wrmtlwqx;
FIELD f_toehpsjn WORLD_SYMLINK_WARNING_TITLE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_trmkzzpe PACK_SYMLINK_WARNING_MESSAGE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_txvgkbum WORLD_SYMLINK_WARNING_MESSAGE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_xrjwjadt message Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD <init> (Lnet/minecraft/unmapped/C_rdaqiwdt;Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/lang/String;Lnet/minecraft/unmapped/C_wrmtlwqx;)V
ARG 1 title
ARG 2 message
ARG 3 url
ARG 4 parent
METHOD m_ceacgooy (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_kiswparz createWorldSymlinkWarningScreen (Lnet/minecraft/unmapped/C_wrmtlwqx;)Lnet/minecraft/unmapped/C_wrmtlwqx;
ARG 0 parent
METHOD m_qsssjrys createPackSymlinkWarningScreen (Lnet/minecraft/unmapped/C_wrmtlwqx;)Lnet/minecraft/unmapped/C_wrmtlwqx;
ARG 0 parent
METHOD m_zbganpvc (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_zpzfyehy (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ CLASS net/minecraft/unmapped/C_ibkofvzc net/minecraft/client/gui/screen/world/Cr
FIELD f_fyvyzcba PREPARING Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_hqkhcpia header Lnet/minecraft/unmapped/C_mbxnkehf;
FIELD f_htfhyyfx packManager Lnet/minecraft/unmapped/C_dqfyacfy;
FIELD f_hxpwlzvr ENTER_NAME Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_hxpwlzvr ENTER_WORLD_NAME Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_jlpvoazq FOOTER_SEPARATOR_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_lryffkzq LIGHT_DIRT_BACKGROUND_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_lzdtplvi HEADER_SEPARATOR_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
Expand Down Expand Up @@ -42,30 +42,43 @@ CLASS net/minecraft/unmapped/C_ibkofvzc net/minecraft/client/gui/screen/world/Cr
ARG 2 info
ARG 3 context
ARG 4 path
METHOD m_dcetjnbf (Ljava/util/List;Ljava/lang/String;)Z
ARG 1 name
METHOD m_dejxfssq (Lnet/minecraft/unmapped/C_dqfyacfy;)V
ARG 1 manager
METHOD m_evbwddxa openPackScreen (Lnet/minecraft/unmapped/C_yknpgzdr;)V
METHOD m_evbwddxa openDataPacksScreen (Lnet/minecraft/unmapped/C_yknpgzdr;)V
ARG 1 settings
METHOD m_evhcwytp createDefaultLoadConfig (Lnet/minecraft/unmapped/C_dqfyacfy;Lnet/minecraft/unmapped/C_yknpgzdr;)Lnet/minecraft/unmapped/C_kjxfcecs$C_kculhjuh;
ARG 0 resourcePackManager
ARG 1 settings
METHOD m_ficgwtev createLevelInfo (Z)Lnet/minecraft/unmapped/C_tmnkpzlg;
METHOD m_ficgwtev createWorldInfo (Z)Lnet/minecraft/unmapped/C_tmnkpzlg;
ARG 1 debugWorld
METHOD m_fiszvdug (Ljava/util/function/Consumer;Ljava/lang/Void;Ljava/lang/Throwable;)Ljava/lang/Object;
ARG 2 result
ARG 3 exception
METHOD m_fqtykenm clearDataPackTempDir ()V
METHOD m_fsncvugn createStorageSession ()Ljava/util/Optional;
METHOD m_hmlmjfjy (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_hpinockj (Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
ARG 1 path
METHOD m_jygzlswq (Ljava/util/function/Consumer;Z)V
ARG 2 confirmed
METHOD m_kfiwihuq copyDataPack (Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
ARG 0 srcFolder
ARG 1 destFolder
ARG 2 dataPackFile
METHOD m_kvlyrphw openExperimentsScreen (Lnet/minecraft/unmapped/C_yknpgzdr;)V
ARG 1 settings
METHOD m_lwkgzddp (Lnet/minecraft/unmapped/C_dqfyacfy;Lnet/minecraft/unmapped/C_yknpgzdr;Ljava/util/function/Consumer;Z)V
ARG 4 proceed
METHOD m_odrhilcd createNewWorld (Lnet/minecraft/unmapped/C_jmmczzpb$C_ooteyfin;Lnet/minecraft/unmapped/C_bcpxdrik;Lcom/mojang/serialization/Lifecycle;)V
ARG 1 type
ARG 2 manager
ARG 3 lifecycle
METHOD m_oitudqud onCloseScreen ()V
METHOD m_oolkgqdp (Lnet/minecraft/unmapped/C_kjxfcecs$C_hkmknvtj;)Lnet/minecraft/unmapped/C_kjxfcecs$C_ijyqofsr;
ARG 1 context
METHOD m_oopecwxc (Lnet/minecraft/unmapped/C_kpvuxmkp;)V
ARG 1 widget
METHOD m_pcylhjnh getWorldCreator ()Lnet/minecraft/unmapped/C_hypraqfe;
Expand All @@ -75,9 +88,26 @@ CLASS net/minecraft/unmapped/C_ibkofvzc net/minecraft/client/gui/screen/world/Cr
METHOD m_sgacyucm showMessage (Lnet/minecraft/unmapped/C_ayfeobid;Lnet/minecraft/unmapped/C_rdaqiwdt;)V
ARG 0 client
ARG 1 message
METHOD m_sopqrewi (Ljava/nio/file/Path;)Z
ARG 1 path
METHOD m_spzhhpkv (Lnet/minecraft/unmapped/C_carvbxzj;Lnet/minecraft/unmapped/C_migzkpst;Lnet/minecraft/unmapped/C_bcpxdrik;Lnet/minecraft/unmapped/C_ibkofvzc$C_mxqwwbun;)Lnet/minecraft/unmapped/C_njsjipmy;
ARG 0 resourceManager
ARG 1 resources
ARG 2 registryManager
ARG 3 worldCreationSettings
METHOD m_udkaeyin (Lcom/mojang/serialization/DynamicOps;Lcom/google/gson/JsonElement;)Lcom/mojang/serialization/DataResult;
ARG 1 encodedOptions
METHOD m_umnykrgq getScannedPack (Lnet/minecraft/unmapped/C_yknpgzdr;)Lcom/mojang/datafixers/util/Pair;
ARG 1 settings
METHOD m_xdqbchlc createLevel ()V
METHOD m_vfaqeuwk (Lnet/minecraft/unmapped/C_ibkofvzc;Lnet/minecraft/unmapped/C_fxiqpxaf;)V
ARG 1 widget
METHOD m_vflacjtp (Lorg/apache/commons/lang3/mutable/MutableObject;Ljava/nio/file/Path;Ljava/nio/file/Path;)V
ARG 2 dataPackFile
METHOD m_wobxfjlo (Ljava/nio/file/Path;)V
ARG 0 path
METHOD m_xdqbchlc createWorld ()V
METHOD m_xtzltras (Ljava/nio/file/Path;Ljava/nio/file/Path;)V
ARG 2 dataPackFile
METHOD m_ycpfvuja getDataPackTempDir ()Ljava/nio/file/Path;
METHOD m_zeghowdv applyDataPacks (Lnet/minecraft/unmapped/C_dqfyacfy;ZLjava/util/function/Consumer;)V
ARG 1 dataPackManager
Expand All @@ -86,12 +116,35 @@ CLASS net/minecraft/unmapped/C_ibkofvzc net/minecraft/client/gui/screen/world/Cr
METHOD m_znmcttwr (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
CLASS C_dzlctpdf GameTab
FIELD f_cdxgyrot nameInput Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_cdxgyrot worldNameField Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_qwzkbduc GAME_TAB_TITLE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_uckqwzac ALLOW_COMMANDS Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD m_bcjirrvc (Ljava/lang/Boolean;)Lnet/minecraft/unmapped/C_skehaijy;
ARG 0 allowCommandsInfo
METHOD m_gfyfwlet (Lnet/minecraft/unmapped/C_hypraqfe$C_ohbtvxdv;)Lnet/minecraft/unmapped/C_rdaqiwdt;
ARG 0 gameMode
METHOD m_hnuqqiup (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 1 worldCreator
METHOD m_huphbglj (Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 1 worldCreator
METHOD m_qbjnnmrx (Lnet/minecraft/unmapped/C_ikfvpkkf;Ljava/lang/Boolean;)V
ARG 1 button
ARG 2 cheatsEnabled
METHOD m_vwtbiafd (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_mpbjgxic;)V
ARG 1 button
ARG 2 difficulty
METHOD m_wthzkzlp (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 2 worldCreator
METHOD m_yjsbiijn (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_ytdkulul (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_hypraqfe$C_ohbtvxdv;)V
ARG 1 button
ARG 2 gameMode
METHOD m_zfatltbw (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 2 worldCreator
CLASS C_emutyvqg WorldTab
FIELD f_cobovsbo BONUS_ITEMS Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_glihoeql seedInput Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_glihoeql seedField Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_ixnusskg customizeTypeButton Lnet/minecraft/unmapped/C_buwziidm;
FIELD f_klvpqniw AMPLIFIED_INFO Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_mkhygczv SEED_INFO Lnet/minecraft/unmapped/C_rdaqiwdt;
Expand All @@ -101,12 +154,35 @@ CLASS net/minecraft/unmapped/C_ibkofvzc net/minecraft/client/gui/screen/world/Cr
FIELD f_rrexmrsz WORLD_TAB_TITLE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_yymywohx MAP_FEATURES Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD m_awomnjir createWorldTypeSupplier ()Lnet/minecraft/unmapped/C_ikfvpkkf$C_qjymjbvs;
METHOD m_bcutemao (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_hypraqfe$C_jbuehfan;)V
ARG 1 button
ARG 2 worldType
METHOD m_igcilysz openPresetsScreen ()V
METHOD m_lsbasbdi (Lnet/minecraft/unmapped/C_ikfvpkkf;Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 2 worldCreator
METHOD m_lyzestkz (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_rinurbgd (Ljava/lang/String;)V
ARG 1 seed
METHOD m_vdchsjiw (Lnet/minecraft/unmapped/C_jskhqate;Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 1 worldCreator
METHOD m_wbhktorn (Lnet/minecraft/unmapped/C_qykucwmu$C_iamgoveg;Lnet/minecraft/unmapped/C_dpukplka;)V
ARG 1 grid
METHOD m_whvqigyv (Lnet/minecraft/unmapped/C_hypraqfe;)V
ARG 1 worldCreator
METHOD m_yuppgxdl createButtonNarration (Lnet/minecraft/unmapped/C_ikfvpkkf;)Lnet/minecraft/unmapped/C_npqneive;
ARG 0 button
CLASS C_eyotidzo MoreTab
FIELD f_eowlglnv GAME_RULES Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_lhxnvfat DATA_PACKS Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_vuqzvibe MORE_TAB_TITLE Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD m_qeuzybrv openGameRulesScreen ()V
FIELD f_vuqzvibe TITLE Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD m_dlifpsxb (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_jtffqjig (Ljava/util/Optional;)V
ARG 1 gameRules
METHOD m_qeuzybrv openEditGameRulesScreen ()V
METHOD m_rbufnqbu (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_woomufvk (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
CLASS C_mxqwwbun WorldCreationSettings
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,37 @@ CLASS net/minecraft/unmapped/C_lzpmzhhp net/minecraft/client/gui/screen/world/Ed
FIELD f_ktvyxgtr callback Lit/unimi/dsi/fastutil/booleans/BooleanConsumer;
FIELD f_lfvsjayl storageSession Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;
FIELD f_pdqdfkrs saveButton Lnet/minecraft/unmapped/C_buwziidm;
FIELD f_sdxisgdc levelNameTextField Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_ubtnfmpx ENTER_NAME Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_sdxisgdc worldNameField Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_ubtnfmpx ENTER_WORLD_NAME Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD <init> (Lit/unimi/dsi/fastutil/booleans/BooleanConsumer;Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;)V
ARG 1 callback
ARG 2 storageSession
METHOD m_bzsgcpmw (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_fldgjuaf (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_izlqhkbn (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_jwufwuwq commit ()V
METHOD m_kneqjlhc backupLevel (Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;)Z
METHOD m_kneqjlhc backupWorld (Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;)Z
ARG 0 storageSession
METHOD m_knuhcgkj (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_lmijghmn onBackupConfirm (Lnet/minecraft/unmapped/C_bpwagnit;Ljava/lang/String;)V
ARG 0 storage
ARG 1 levelName
ARG 1 worldName
METHOD m_lnoqfdrp (Ljava/nio/file/Path;)V
ARG 0 path
METHOD m_mjnawvia (Ljava/nio/file/Path;)Z
ARG 0 path
METHOD m_nhzjsymx (ZZ)V
ARG 1 backup
ARG 2 eraseCache
METHOD m_oweazxix (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_rrajmgic (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_sbnvkesi (Ljava/lang/String;)V
ARG 1 name
METHOD m_swqyfiuq (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
CLASS net/minecraft/unmapped/C_yrypplpi net/minecraft/client/gui/screen/world/SelectWorldScreen
FIELD f_hcdzmiym deleteButton Lnet/minecraft/unmapped/C_buwziidm;
FIELD f_nmjfmdxl TEST_OPTIONS Lnet/minecraft/unmapped/C_naismckd;
FIELD f_ptrrkyoc levelList Lnet/minecraft/unmapped/C_wwgrvynj;
FIELD f_ptrrkyoc worldEntryList Lnet/minecraft/unmapped/C_wwgrvynj;
FIELD f_pykxvhvu editButton Lnet/minecraft/unmapped/C_buwziidm;
FIELD f_saitbzko searchBox Lnet/minecraft/unmapped/C_vopzcnhf;
FIELD f_urhieblf selectButton Lnet/minecraft/unmapped/C_buwziidm;
Expand All @@ -18,7 +18,7 @@ CLASS net/minecraft/unmapped/C_yrypplpi net/minecraft/client/gui/screen/world/Se
ARG 1 button
METHOD m_qjteouzv (Lnet/minecraft/unmapped/C_buwziidm;)V
ARG 1 button
METHOD m_rkjktgal worldSelected (ZZ)V
METHOD m_rkjktgal updateButtonActivationStates (ZZ)V
ARG 1 active
ARG 2 deleteButtonActive
METHOD m_wgobpizb (Ljava/lang/String;)V
Expand Down
Original file line number Diff line number Diff line change
@@ -1,72 +1,84 @@
CLASS net/minecraft/unmapped/C_wwgrvynj net/minecraft/client/gui/screen/world/WorldListWidget
CLASS net/minecraft/unmapped/C_wwgrvynj net/minecraft/client/gui/screen/world/WorldEntryListWidget
FIELD f_ahgrbbnb DATE_FORMAT Ljava/text/DateFormat;
FIELD f_biwkcpnf SNAPSHOT_FIRST_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_bnkwjzpz worldListFuture Ljava/util/concurrent/CompletableFuture;
FIELD f_biwkcpnf SNAPSHOT_TOOLTIP_FIRST_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_bnkwjzpz summaryListFuture Ljava/util/concurrent/CompletableFuture;
FIELD f_bvfzqfwz CONVERSION_TOOLTIP Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_giqqdqgq worlds Ljava/util/List;
FIELD f_gmbxrzpw FROM_NEWER_VERSION_FIRST_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_gmmkqxli SNAPSHOT_SECOND_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_eeylljiq HIGHLIGHTED_WARNING_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_excqbqjh HIGHLIGHTED_JOIN_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_giqqdqgq summaries Ljava/util/List;
FIELD f_gmbxrzpw FROM_NEWER_VERSION_TOOLTIP_FIRST_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_gmmkqxli SNAPSHOT_TOOLTIP_SECOND_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_hkspkame ERROR_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_ijizppsv HIGHLIGHTED_ERROR_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_iryfsjin HIGHLIGHTED_MARKED_JOIN_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_iudprwiz JOIN_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_iwchirdh loadingEntry Lnet/minecraft/unmapped/C_wwgrvynj$C_chlqbstq;
FIELD f_lejfmpml query Ljava/lang/String;
FIELD f_mbtquola parent Lnet/minecraft/unmapped/C_yrypplpi;
FIELD f_neodhkus FROM_NEWER_VERSION_SECOND_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_neodhkus FROM_NEWER_VERSION_TOOLTIP_SECOND_LINE Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_nhmjctua LOGGER Lorg/slf4j/Logger;
FIELD f_okvxmmxk EXPERIMENTAL Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_rtudrfdo LOCKED Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_snbxmdyx WARNING_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_xjlsplba UNKNOWN_SERVER_LOCATION Lnet/minecraft/unmapped/C_ncpywfca;
FIELD f_xshrcksa MARKED_JOIN_TEXTURE Lnet/minecraft/unmapped/C_ncpywfca;
METHOD <init> (Lnet/minecraft/unmapped/C_yrypplpi;Lnet/minecraft/unmapped/C_ayfeobid;IIIIILjava/lang/String;Lnet/minecraft/unmapped/C_wwgrvynj;)V
ARG 1 parent
ARG 2 client
ARG 3 screenWidth
ARG 4 screenHeight
ARG 5 top
ARG 6 bottom
ARG 7 itemHeight
ARG 7 entryHeight
ARG 8 query
ARG 9 previousList
ARG 9 prev
METHOD m_adqicvjj narrateScreen ()V
METHOD m_bhyykuuh worldNameMatches (Ljava/lang/String;Lnet/minecraft/unmapped/C_wfuumzdp;)Z
METHOD m_bhyykuuh summaryMatches (Ljava/lang/String;Lnet/minecraft/unmapped/C_wfuumzdp;)Z
COMMENT Whether the given {@code summary} matches the given {@code query}.
ARG 1 query
ARG 2 summary
METHOD m_egkdspch finalizeWorlds ()Ljava/util/List;
METHOD m_egkdspch finalizeSummaryList ()Ljava/util/List;
METHOD m_fapsoaqi getSelectedAsOptional ()Ljava/util/Optional;
METHOD m_fftsxclm (Ljava/lang/Throwable;)Ljava/util/List;
ARG 1 throwable
METHOD m_gojurhkm generateListFuture ()Ljava/util/concurrent/CompletableFuture;
METHOD m_hexfpxkc filterWorlds (Ljava/util/List;)V
ARG 1 worlds
METHOD m_gojurhkm createSummaryListFuture ()Ljava/util/concurrent/CompletableFuture;
METHOD m_hexfpxkc filterEntries (Ljava/util/List;)V
ARG 1 summaries
METHOD m_irbmeiln resetEntries ()V
METHOD m_jtfjknzc filter (Ljava/lang/String;Ljava/util/List;)V
ARG 1 query
ARG 2 levels
ARG 2 summaries
METHOD m_lmtvmxlw getParent ()Lnet/minecraft/unmapped/C_yrypplpi;
METHOD m_pfgywwta filter (Ljava/lang/String;)V
ARG 1 query
METHOD m_qcspbwca failedLoadingWorld (Lnet/minecraft/unmapped/C_rdaqiwdt;)V
METHOD m_qcspbwca openUnableToLoadErrorScreen (Lnet/minecraft/unmapped/C_rdaqiwdt;)V
ARG 1 reason
METHOD m_qscakuku regenerateList ()V
CLASS C_chlqbstq LoadingWorldEntry
METHOD m_qscakuku recreateSummaryList ()V
CLASS C_chlqbstq LoadingEntry
FIELD f_vrjbextc client Lnet/minecraft/unmapped/C_ayfeobid;
FIELD f_zcqqkjsr LOADING_WORLD_LIST Lnet/minecraft/unmapped/C_rdaqiwdt;
FIELD f_zcqqkjsr LOADING_WORLD_ENTRY_LIST Lnet/minecraft/unmapped/C_rdaqiwdt;
METHOD <init> (Lnet/minecraft/unmapped/C_ayfeobid;)V
ARG 1 client
CLASS C_hdxtychi AbstractWorldEntry
CLASS C_hdxtychi AbstractEntry
METHOD close close ()V
METHOD m_ogqmiqlf selectable ()Z
CLASS C_jmifisfh Entry
CLASS C_jmifisfh WorldEntry
FIELD f_bkumfwbx ICON_HEIGHT I
FIELD f_fdtzlxdn iconFile Ljava/nio/file/Path;
FIELD f_gtvmqlxk time J
FIELD f_joioyrhf ICON_WIDTH I
FIELD f_omidysif client Lnet/minecraft/unmapped/C_ayfeobid;
FIELD f_peqbzsmm level Lnet/minecraft/unmapped/C_wfuumzdp;
FIELD f_ppbktwyr screen Lnet/minecraft/unmapped/C_yrypplpi;
FIELD f_peqbzsmm summary Lnet/minecraft/unmapped/C_wfuumzdp;
FIELD f_ppbktwyr parent Lnet/minecraft/unmapped/C_yrypplpi;
FIELD f_xbclkcsq icon Lnet/minecraft/unmapped/C_zhalennh;
METHOD <init> (Lnet/minecraft/unmapped/C_wwgrvynj;Lnet/minecraft/unmapped/C_wwgrvynj;Lnet/minecraft/unmapped/C_wfuumzdp;)V
ARG 2 levelList
ARG 3 level
ARG 2 worldEntryList
ARG 3 summary
METHOD m_aehstgkl recreate ()V
METHOD m_fijclnvs (Lnet/minecraft/unmapped/C_tmnkpzlg;Lnet/minecraft/unmapped/C_njsjipmy;Ljava/nio/file/Path;Z)V
ARG 4 isAcceptButton
METHOD m_fyvuyosl (Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;Ljava/lang/String;Z)V
ARG 3 edited
METHOD m_hnhktyvf getLevelDisplayName ()Ljava/lang/String;
METHOD m_kdbxpczb start ()V
METHOD m_ldplqrie resolveIconFile ()V
Expand All @@ -76,6 +88,8 @@ CLASS net/minecraft/unmapped/C_wwgrvynj net/minecraft/client/gui/screen/world/Wo
ARG 1 confirmed
METHOD m_nopgjise deleteIfConfirmed ()V
METHOD m_qwbzirnn delete ()V
METHOD m_tadilhdw (Z)V
ARG 1 confirmed
METHOD m_yvhlumjw (ZZ)V
ARG 1 backup
ARG 2 eraseCache
Expand Down
2 changes: 2 additions & 0 deletions mappings/net/minecraft/client/gui/widget/ButtonWidget.mapping
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ CLASS net/minecraft/unmapped/C_buwziidm net/minecraft/client/gui/widget/ButtonWi
ARG 5 message
ARG 6 onPress
ARG 7 narrationFactory
METHOD m_jydvjmlj (Ljava/util/function/Supplier;)Lnet/minecraft/unmapped/C_npqneive;
ARG 0 textSupplier
METHOD m_vugdzaek builder (Lnet/minecraft/unmapped/C_rdaqiwdt;Lnet/minecraft/unmapped/C_buwziidm$C_zlxjklbn;)Lnet/minecraft/unmapped/C_buwziidm$C_evfntova;
ARG 0 message
ARG 1 onPress
Expand Down
Loading

3 comments on commit 7d50b62

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With commit 7d50b62, 120 file(s) were updated with 984 line(s) added and 921 removed compared to the latest Quilt Mappings version.

View the diff here (1/3):
diff -bur namedTargetSrc/net/minecraft/advancement/PlayerAdvancementTracker.java namedSrc/net/minecraft/advancement/PlayerAdvancementTracker.java
--- namedTargetSrc/net/minecraft/advancement/PlayerAdvancementTracker.java	2023-09-12 12:58:23.240177314 +0000
+++ namedSrc/net/minecraft/advancement/PlayerAdvancementTracker.java	2023-09-12 12:56:52.872086598 +0000
@@ -304,7 +304,7 @@
                .display()
                .ifPresent(
                   arg2 -> {
-                     if (arg2.shouldAnnounceToChat() && this.owner.getWorld().getGameRules().getBoolean(GameRules.ANNOUNCE_ADVANCEMENTS)) {
+                     if (arg2.shouldAnnounceToChat() && this.owner.getWorld().getGameRules().getBooleanValue(GameRules.ANNOUNCE_ADVANCEMENTS)) {
                         this.playerManager
                            .broadcastSystemMessage(
                               Text.translatable("chat.type.advancement." + arg2.getFrame().getId(), this.owner.getDisplayName(), Advancement.m_swogstqz(arg)),
diff -bur namedTargetSrc/net/minecraft/block/BeehiveBlock.java namedSrc/net/minecraft/block/BeehiveBlock.java
--- namedTargetSrc/net/minecraft/block/BeehiveBlock.java	2023-09-12 12:58:23.312177391 +0000
+++ namedSrc/net/minecraft/block/BeehiveBlock.java	2023-09-12 12:56:52.952086660 +0000
@@ -343,7 +343,7 @@
     */
    @Override
    public void onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player) {
-      if (!world.isClient && player.isCreative() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
+      if (!world.isClient && player.isCreative() && world.getGameRules().getBooleanValue(GameRules.DO_TILE_DROPS)) {
          BlockEntity lv = world.getBlockEntity(pos);
          if (lv instanceof BeehiveBlockEntity lv2) {
             ItemStack lv3 = new ItemStack(this);
diff -bur namedTargetSrc/net/minecraft/block/Block.java namedSrc/net/minecraft/block/Block.java
--- namedTargetSrc/net/minecraft/block/Block.java	2023-09-12 12:58:23.368177450 +0000
+++ namedSrc/net/minecraft/block/Block.java	2023-09-12 12:56:53.012086706 +0000
@@ -592,7 +592,7 @@
     * @mapping {@literal named dropStack Lnet/minecraft/block/Block;dropStack(Lnet/minecraft/world/World;Ljava/util/function/Supplier;Lnet/minecraft/item/ItemStack;)V}
     */
    private static void dropStack(World world, Supplier<ItemEntity> itemEntitySupplier, ItemStack stack) {
-      if (!world.isClient && !stack.isEmpty() && world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
+      if (!world.isClient && !stack.isEmpty() && world.getGameRules().getBooleanValue(GameRules.DO_TILE_DROPS)) {
          ItemEntity lv = (ItemEntity)itemEntitySupplier.get();
          lv.setToDefaultPickupDelay();
          world.spawnEntity(lv);
@@ -604,7 +604,7 @@
     * @mapping {@literal named dropExperience Lnet/minecraft/block/Block;dropExperience(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;I)V}
     */
    protected void dropExperience(ServerWorld world, BlockPos pos, int size) {
-      if (world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS)) {
+      if (world.getGameRules().getBooleanValue(GameRules.DO_TILE_DROPS)) {
          ExperienceOrbEntity.spawn(world, Vec3d.ofCenter(pos), size);
       }
    }
diff -bur namedTargetSrc/net/minecraft/block/CommandBlock.java namedSrc/net/minecraft/block/CommandBlock.java
--- namedTargetSrc/net/minecraft/block/CommandBlock.java	2023-09-12 12:58:23.312177391 +0000
+++ namedSrc/net/minecraft/block/CommandBlock.java	2023-09-12 12:56:52.952086660 +0000
@@ -187,7 +187,7 @@
 
          if (!world.isClient) {
             if (BlockItem.getBlockEntityNbtFromStack(itemStack) == null) {
-               lv3.setTrackingOutput(world.getGameRules().getBoolean(GameRules.SEND_COMMAND_FEEDBACK));
+               lv3.setTrackingOutput(world.getGameRules().getBooleanValue(GameRules.SEND_COMMAND_FEEDBACK));
                lv2.setAuto(this.auto);
             }
 
@@ -249,7 +249,7 @@
 
       int i;
       BlockState lv3;
-      for (i = lv2.getInt(GameRules.MAX_COMMAND_CHAIN_LENGTH); i-- > 0; facing = lv3.get(FACING)) {
+      for (i = lv2.getIntValue(GameRules.MAX_COMMAND_CHAIN_LENGTH); i-- > 0; facing = lv3.get(FACING)) {
          lv.move(facing);
          lv3 = world.getBlockState(lv);
          Block lv4 = lv3.getBlock();
@@ -277,7 +277,7 @@
       }
 
       if (i <= 0) {
-         int j = Math.max(lv2.getInt(GameRules.MAX_COMMAND_CHAIN_LENGTH), 0);
+         int j = Math.max(lv2.getIntValue(GameRules.MAX_COMMAND_CHAIN_LENGTH), 0);
          LOGGER.warn("Command Block chain tried to execute more than {} steps!", j);
       }
    }
diff -bur namedTargetSrc/net/minecraft/block/CropBlock.java namedSrc/net/minecraft/block/CropBlock.java
--- namedTargetSrc/net/minecraft/block/CropBlock.java	2023-09-12 12:58:23.212177285 +0000
+++ namedSrc/net/minecraft/block/CropBlock.java	2023-09-12 12:56:52.840086573 +0000
@@ -227,7 +227,7 @@
     */
    @Override
    public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) {
-      if (entity instanceof RavagerEntity && world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+      if (entity instanceof RavagerEntity && world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
          world.breakBlock(pos, true, entity);
       }
 
diff -bur namedTargetSrc/net/minecraft/block/entity/SculkShriekerBlockEntity.java namedSrc/net/minecraft/block/entity/SculkShriekerBlockEntity.java
--- namedTargetSrc/net/minecraft/block/entity/SculkShriekerBlockEntity.java	2023-09-12 12:58:23.340177421 +0000
+++ namedSrc/net/minecraft/block/entity/SculkShriekerBlockEntity.java	2023-09-12 12:56:52.984086684 +0000
@@ -245,7 +245,7 @@
    private boolean canWarn(ServerWorld world) {
       return this.getCachedState().get(SculkShriekerBlock.CAN_SUMMON)
          && world.getDifficulty() != Difficulty.PEACEFUL
-         && world.getGameRules().getBoolean(GameRules.DO_WARDEN_SPAWNING);
+         && world.getGameRules().getBooleanValue(GameRules.DO_WARDEN_SPAWNING);
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/block/FarmlandBlock.java namedSrc/net/minecraft/block/FarmlandBlock.java
--- namedTargetSrc/net/minecraft/block/FarmlandBlock.java	2023-09-12 12:58:23.292177370 +0000
+++ namedSrc/net/minecraft/block/FarmlandBlock.java	2023-09-12 12:56:52.928086641 +0000
@@ -135,7 +135,7 @@
       if (!world.isClient
          && world.random.nextFloat() < fallDistance - 0.5F
          && entity instanceof LivingEntity
-         && (entity instanceof PlayerEntity || world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING))
+         && (entity instanceof PlayerEntity || world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING))
          && entity.getWidth() * entity.getWidth() * entity.getHeight() > 0.512F) {
          setToDirt(entity, state, world, pos);
       }
diff -bur namedTargetSrc/net/minecraft/block/FireBlock.java namedSrc/net/minecraft/block/FireBlock.java
--- namedTargetSrc/net/minecraft/block/FireBlock.java	2023-09-12 12:58:23.272177348 +0000
+++ namedSrc/net/minecraft/block/FireBlock.java	2023-09-12 12:56:52.908086625 +0000
@@ -272,7 +272,7 @@
    @Override
    public void scheduledTick(BlockState state, ServerWorld world, BlockPos pos, RandomGenerator random) {
       world.scheduleBlockTick(pos, this, getFireTickDelay(world.random));
-      if (world.getGameRules().getBoolean(GameRules.DO_FIRE_TICK)) {
+      if (world.getGameRules().getBooleanValue(GameRules.DO_FIRE_TICK)) {
          if (!state.canPlaceAt(world, pos)) {
             world.removeBlock(pos, false);
          }
diff -bur namedTargetSrc/net/minecraft/block/InfestedBlock.java namedSrc/net/minecraft/block/InfestedBlock.java
--- namedTargetSrc/net/minecraft/block/InfestedBlock.java	2023-09-12 12:58:23.256177331 +0000
+++ namedSrc/net/minecraft/block/InfestedBlock.java	2023-09-12 12:56:52.892086613 +0000
@@ -89,7 +89,7 @@
    @Override
    public void onStacksDropped(BlockState state, ServerWorld world, BlockPos pos, ItemStack stack, boolean dropExperience) {
       super.onStacksDropped(state, world, pos, stack, dropExperience);
-      if (world.getGameRules().getBoolean(GameRules.DO_TILE_DROPS) && EnchantmentHelper.getLevel(Enchantments.SILK_TOUCH, stack) == 0) {
+      if (world.getGameRules().getBooleanValue(GameRules.DO_TILE_DROPS) && EnchantmentHelper.getLevel(Enchantments.SILK_TOUCH, stack) == 0) {
          this.spawnSilverfish(world, pos);
       }
    }
diff -bur namedTargetSrc/net/minecraft/block/NetherPortalBlock.java namedSrc/net/minecraft/block/NetherPortalBlock.java
--- namedTargetSrc/net/minecraft/block/NetherPortalBlock.java	2023-09-12 12:58:23.332177412 +0000
+++ namedSrc/net/minecraft/block/NetherPortalBlock.java	2023-09-12 12:56:52.972086675 +0000
@@ -75,7 +75,9 @@
     */
    @Override
    public void randomTick(BlockState state, ServerWorld world, BlockPos pos, RandomGenerator random) {
-      if (world.getDimension().natural() && world.getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING) && random.nextInt(2000) < world.getDifficulty().getId()) {
+      if (world.getDimension().natural()
+         && world.getGameRules().getBooleanValue(GameRules.DO_MOB_SPAWNING)
+         && random.nextInt(2000) < world.getDifficulty().getId()) {
          while (world.getBlockState(pos).isOf(this)) {
             pos = pos.down();
          }
diff -bur namedTargetSrc/net/minecraft/block/PitcherCropBlock.java namedSrc/net/minecraft/block/PitcherCropBlock.java
--- namedTargetSrc/net/minecraft/block/PitcherCropBlock.java	2023-09-12 12:58:23.336177416 +0000
+++ namedSrc/net/minecraft/block/PitcherCropBlock.java	2023-09-12 12:56:52.980086681 +0000
@@ -165,7 +165,7 @@
     */
    @Override
    public void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) {
-      if (entity instanceof RavagerEntity && world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+      if (entity instanceof RavagerEntity && world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
          world.breakBlock(pos, true, entity);
       }
 
diff -bur namedTargetSrc/net/minecraft/block/PowderSnowBlock.java namedSrc/net/minecraft/block/PowderSnowBlock.java
--- namedTargetSrc/net/minecraft/block/PowderSnowBlock.java	2023-09-12 12:58:23.248177323 +0000
+++ namedSrc/net/minecraft/block/PowderSnowBlock.java	2023-09-12 12:56:52.880086604 +0000
@@ -118,7 +118,7 @@
       entity.setInPowderSnow(true);
       if (!world.isClient) {
          if (entity.isOnFire()
-            && (world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING) || entity instanceof PlayerEntity)
+            && (world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING) || entity instanceof PlayerEntity)
             && entity.canModifyAt(world, pos)) {
             world.breakBlock(pos, false);
          }
diff -bur namedTargetSrc/net/minecraft/block/TurtleEggBlock.java namedSrc/net/minecraft/block/TurtleEggBlock.java
--- namedTargetSrc/net/minecraft/block/TurtleEggBlock.java	2023-09-12 12:58:23.328177408 +0000
+++ namedSrc/net/minecraft/block/TurtleEggBlock.java	2023-09-12 12:56:52.972086675 +0000
@@ -250,7 +250,7 @@
       } else if (!(entity instanceof LivingEntity)) {
          return false;
       } else {
-         return entity instanceof PlayerEntity || world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING);
+         return entity instanceof PlayerEntity || world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING);
       }
    }
 }
diff -bur namedTargetSrc/net/minecraft/block/VineBlock.java namedSrc/net/minecraft/block/VineBlock.java
--- namedTargetSrc/net/minecraft/block/VineBlock.java	2023-09-12 12:58:23.324177404 +0000
+++ namedSrc/net/minecraft/block/VineBlock.java	2023-09-12 12:56:52.964086669 +0000
@@ -276,7 +276,7 @@
     */
    @Override
    public void randomTick(BlockState state, ServerWorld world, BlockPos pos, RandomGenerator random) {
-      if (world.getGameRules().getBoolean(GameRules.DO_VINES_SPREAD)) {
+      if (world.getGameRules().getBooleanValue(GameRules.DO_VINES_SPREAD)) {
          if (random.nextInt(4) == 0) {
             Direction lv = Direction.random(random);
             BlockPos lv2 = pos.up();
diff -bur namedTargetSrc/net/minecraft/Bootstrap.java namedSrc/net/minecraft/Bootstrap.java
--- namedTargetSrc/net/minecraft/Bootstrap.java	2023-09-12 12:58:23.240177314 +0000
+++ namedSrc/net/minecraft/Bootstrap.java	2023-09-12 12:56:52.876086601 +0000
@@ -111,7 +111,7 @@
           * Mapping not found
           */
          @Override
-         public <T extends GameRules.Rule<T>> void visit(GameRules.Key<T> key, GameRules.Type<T> type) {
+         public <T extends GameRules.AbstractGameRule<T>> void visitGameRule(GameRules.Key<T> key, GameRules.Type<T> type) {
             if (!lv.hasTranslation(key.getTranslationKey())) {
                translations.add(key.getName());
             }
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/AccessibilityOnboardingScreen.java namedSrc/net/minecraft/client/gui/screen/AccessibilityOnboardingScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/AccessibilityOnboardingScreen.java	2023-09-12 12:58:23.308177387 +0000
+++ namedSrc/net/minecraft/client/gui/screen/AccessibilityOnboardingScreen.java	2023-09-12 12:56:52.944086653 +0000
@@ -9,11 +9,11 @@
 import net.minecraft.client.gui.RotatingCubeMapRenderer;
 import net.minecraft.client.gui.screen.option.AccessibilityOptionsScreen;
 import net.minecraft.client.gui.screen.option.LanguageOptionsScreen;
-import net.minecraft.client.gui.widget.AccessibilityOnboardingButtonWidgets;
 import net.minecraft.client.gui.widget.ButtonWidget;
 import net.minecraft.client.gui.widget.ClickableWidget;
 import net.minecraft.client.gui.widget.FrameWidget;
 import net.minecraft.client.gui.widget.LinearLayoutWidget;
+import net.minecraft.client.gui.widget.factory.AccessibilityOnboardingButtonWidgetFactories;
 import net.minecraft.client.option.GameOptions;
 import net.minecraft.text.CommonTexts;
 import net.minecraft.text.Text;
@@ -102,20 +102,22 @@
       int i = this.titlePosY();
       FrameWidget lv = new FrameWidget(this.width, this.height - i);
       lv.getDefaultSettings().alignVerticallyTop().setPadding(4);
-      LinearLayoutWidget lv2 = lv.add(LinearLayoutWidget.m_rmmqhibe());
-      lv2.m_iurfbawi().alignHorizontallyCenter().setPadding(2);
+      LinearLayoutWidget lv2 = lv.add(LinearLayoutWidget.createVertical());
+      lv2.getDefaultSettings().alignHorizontallyCenter().setPadding(2);
       this.textWidget = new C_rugqjeey(this.width - 16, this.title, this.textRenderer);
-      lv2.m_xxgekkap(this.textWidget, arg -> arg.setBottomPadding(16));
+      lv2.add(this.textWidget, arg -> arg.setBottomPadding(16));
       ClickableWidget lv3 = this.options.getNarrator().createButton(this.options, 0, 0, 150);
       lv3.active = this.narratorAvailable;
-      lv2.addChild(lv3);
+      lv2.add(lv3);
       if (this.narratorAvailable) {
          this.setInitialFocus(lv3);
       }
 
-      lv2.addChild(AccessibilityOnboardingButtonWidgets.m_qwyqxgoi(150, button -> this.close(new AccessibilityOptionsScreen(this, this.client.options)), false));
-      lv2.addChild(
-         AccessibilityOnboardingButtonWidgets.m_afkqeeds(
+      lv2.add(
+         AccessibilityOnboardingButtonWidgetFactories.m_qwyqxgoi(150, button -> this.close(new AccessibilityOptionsScreen(this, this.client.options)), false)
+      );
+      lv2.add(
+         AccessibilityOnboardingButtonWidgetFactories.m_afkqeeds(
             150, button -> this.close(new LanguageOptionsScreen(this, this.client.options, this.client.getLanguageManager())), false
          )
       );
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/CreditsAndAttributionScreen.java namedSrc/net/minecraft/client/gui/screen/CreditsAndAttributionScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/CreditsAndAttributionScreen.java	2023-09-12 12:58:23.232177306 +0000
+++ namedSrc/net/minecraft/client/gui/screen/CreditsAndAttributionScreen.java	2023-09-12 12:56:52.864086591 +0000
@@ -71,13 +71,11 @@
    @Override
    protected void init() {
       this.headerFooterWidget.addToHeader(new TextWidget(this.getTitle(), this.textRenderer));
-      LinearLayoutWidget lv = this.headerFooterWidget.addToContents(LinearLayoutWidget.m_rmmqhibe()).m_iasfvsom(8);
-      lv.m_iurfbawi().alignHorizontallyCenter();
-      lv.addChild(ButtonWidget.builder(CREDITS, button -> this.openCredits()).width(210).build());
-      lv.addChild(
-         ButtonWidget.builder(ATTRIBUTION, ConfirmLinkScreen.createPressAction("https://aka.ms/MinecraftJavaAttribution", this, true)).width(210).build()
-      );
-      lv.addChild(ButtonWidget.builder(LICENSES, ConfirmLinkScreen.createPressAction("https://aka.ms/MinecraftJavaLicenses", this, true)).width(210).build());
+      LinearLayoutWidget lv = this.headerFooterWidget.addToContents(LinearLayoutWidget.createVertical()).setSpacing(8);
+      lv.getDefaultSettings().alignHorizontallyCenter();
+      lv.add(ButtonWidget.builder(CREDITS, button -> this.openCredits()).width(210).build());
+      lv.add(ButtonWidget.builder(ATTRIBUTION, ConfirmLinkScreen.createPressAction("https://aka.ms/MinecraftJavaAttribution", this, true)).width(210).build());
+      lv.add(ButtonWidget.builder(LICENSES, ConfirmLinkScreen.createPressAction("https://aka.ms/MinecraftJavaLicenses", this, true)).width(210).build());
       this.headerFooterWidget.addToFooter(ButtonWidget.builder(CommonTexts.DONE, button -> this.closeScreen()).build());
       this.headerFooterWidget.arrangeElements();
       this.headerFooterWidget.visitWidgets(this::addDrawableChild);
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/DisconnectedScreen.java namedSrc/net/minecraft/client/gui/screen/DisconnectedScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/DisconnectedScreen.java	2023-09-12 12:58:23.252177327 +0000
+++ namedSrc/net/minecraft/client/gui/screen/DisconnectedScreen.java	2023-09-12 12:56:52.884086607 +0000
@@ -45,7 +45,7 @@
     * @mapping {@literal hashed f_wfkrgipj Lnet/minecraft/unmapped/C_mluajnfe;f_wfkrgipj:Lnet/minecraft/unmapped/C_crjxgxtz;}
     * @mapping {@literal named grid Lnet/minecraft/client/gui/screen/DisconnectedScreen;grid:Lnet/minecraft/client/gui/widget/LinearLayoutWidget;}
     */
-   private final LinearLayoutWidget grid = LinearLayoutWidget.m_rmmqhibe();
+   private final LinearLayoutWidget grid = LinearLayoutWidget.createVertical();
 
    /**
     * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_mluajnfe;<init>(Lnet/minecraft/unmapped/C_wrmtlwqx;Lnet/minecraft/unmapped/C_rdaqiwdt;Lnet/minecraft/unmapped/C_rdaqiwdt;)V}
@@ -71,9 +71,9 @@
     */
    @Override
    protected void init() {
-      this.grid.m_iurfbawi().alignHorizontallyCenter().setPadding(10);
-      this.grid.addChild(new TextWidget(this.title, this.textRenderer));
-      this.grid.addChild(new MultilineTextWidget(this.reason, this.textRenderer).setMaxWidth(this.width - 50).setCentered(true));
+      this.grid.getDefaultSettings().alignHorizontallyCenter().setPadding(10);
+      this.grid.add(new TextWidget(this.title, this.textRenderer));
+      this.grid.add(new MultilineTextWidget(this.reason, this.textRenderer).setMaxWidth(this.width - 50).setCentered(true));
       ButtonWidget lv;
       if (this.client.isMultiplayerEnabled()) {
          lv = ButtonWidget.builder(this.returnText, button -> this.client.setScreen(this.parent)).build();
@@ -81,7 +81,7 @@
          lv = ButtonWidget.builder(TO_TITLE, button -> this.client.setScreen(new TitleScreen())).build();
       }
 
-      this.grid.addChild(lv);
+      this.grid.add(lv);
       this.grid.arrangeElements();
       this.grid.visitWidgets(this::addDrawableChild);
       this.repositionElements();
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/GameMenuScreen.java namedSrc/net/minecraft/client/gui/screen/GameMenuScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/GameMenuScreen.java	2023-09-12 12:58:23.280177357 +0000
+++ namedSrc/net/minecraft/client/gui/screen/GameMenuScreen.java	2023-09-12 12:56:52.916086632 +0000
@@ -185,7 +185,7 @@
          lv2.add(this.createButton(PLAYER_REPORTING, SocialInteractionsScreen::new));
       }
 
-      Text lv3 = this.client.isInSingleplayer() ? RETURN_TO_MENU : CommonTexts.f_feusjwrm;
+      Text lv3 = this.client.isInSingleplayer() ? RETURN_TO_MENU : CommonTexts.DISCONNECT;
       this.reportButton = lv2.add(ButtonWidget.builder(lv3, widget -> {
          widget.active = false;
          this.client.getChatReportingContext().tryShowDraftReportScreen(this.client, this, this::onDisconnect, true);
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/multiplayer/ChatReportScreen.java namedSrc/net/minecraft/client/gui/screen/multiplayer/ChatReportScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/multiplayer/ChatReportScreen.java	2023-09-12 12:58:23.236177310 +0000
+++ namedSrc/net/minecraft/client/gui/screen/multiplayer/ChatReportScreen.java	2023-09-12 12:56:52.868086595 +0000
@@ -12,11 +12,11 @@
 import net.minecraft.client.gui.widget.FrameWidget;
 import net.minecraft.client.gui.widget.LinearLayoutWidget;
 import net.minecraft.client.gui.widget.TextWidget;
+import net.minecraft.client.gui.widget.factory.LayoutWidgetFactories;
 import net.minecraft.client.multiplayer.report.chat.ChatReportingContext;
 import net.minecraft.text.CommonTexts;
 import net.minecraft.text.Text;
 import net.minecraft.unmapped.C_nfpruzew;
-import net.minecraft.unmapped.C_vjsalahs;
 import net.minecraft.unmapped.C_xgxgovba;
 import net.minecraft.unmapped.C_zvvckjdi;
 import net.minecraft.util.Nullables;
@@ -44,7 +44,7 @@
    /**
     * Mapping not found
     */
-   private final LinearLayoutWidget f_meivwrmb = LinearLayoutWidget.m_rmmqhibe().m_iasfvsom(8);
+   private final LinearLayoutWidget f_meivwrmb = LinearLayoutWidget.createVertical().setSpacing(8);
    /**
     * @mapping {@literal hashed f_xscgockw Lnet/minecraft/unmapped/C_oibiknor;f_xscgockw:Lnet/minecraft/unmapped/C_uqwspvtd;}
     * @mapping {@literal named commentBox Lnet/minecraft/client/gui/screen/multiplayer/ChatReportScreen;commentBox:Lnet/minecraft/client/gui/widget/EditBoxWidget;}
@@ -91,10 +91,10 @@
     */
    @Override
    protected void init() {
-      this.f_meivwrmb.m_iurfbawi().alignHorizontallyCenter();
-      this.f_meivwrmb.addChild(new TextWidget(this.title, this.textRenderer));
+      this.f_meivwrmb.getDefaultSettings().alignHorizontallyCenter();
+      this.f_meivwrmb.add(new TextWidget(this.title, this.textRenderer));
       this.f_dkbznpjn = this.f_meivwrmb
-         .addChild(
+         .add(
             ButtonWidget.builder(SELECT_CHAT_MESSAGES, button -> this.client.setScreen(new ChatSelectionScreen(this, this.f_zznfpsbs, this.f_bcxndcbm, arg -> {
                   this.f_bcxndcbm = arg;
                   this.refreshValidity();
@@ -108,15 +108,15 @@
          )
          .width(280)
          .build();
-      this.f_meivwrmb.addChild(C_vjsalahs.m_amzuwyks(this.textRenderer, this.f_kphgrtaa, f_wnxrcqfb));
+      this.f_meivwrmb.add(LayoutWidgetFactories.createWithTitledRow(this.textRenderer, this.f_kphgrtaa, f_wnxrcqfb));
       this.commentBox = this.m_fzfpwnoc(280, 9 * 8, comments -> {
          this.f_bcxndcbm.m_lpdzwgad(comments);
          this.refreshValidity();
       });
-      this.f_meivwrmb.addChild(C_vjsalahs.m_hycxmdah(this.textRenderer, this.commentBox, f_aoisimji, arg -> arg.setBottomPadding(12)));
-      LinearLayoutWidget lv = this.f_meivwrmb.addChild(LinearLayoutWidget.m_luqawmpr().m_iasfvsom(8));
-      lv.addChild(ButtonWidget.builder(CommonTexts.BACK, button -> this.closeScreen()).width(120).build());
-      this.submitButton = lv.addChild(ButtonWidget.builder(f_ylpnepkv, arg -> this.m_bpysxait()).width(120).build());
+      this.f_meivwrmb.add(LayoutWidgetFactories.createWithTitledRow(this.textRenderer, this.commentBox, f_aoisimji, arg -> arg.setBottomPadding(12)));
+      LinearLayoutWidget lv = this.f_meivwrmb.add(LinearLayoutWidget.createHorizontal().setSpacing(8));
+      lv.add(ButtonWidget.builder(CommonTexts.BACK, button -> this.closeScreen()).width(120).build());
+      this.submitButton = lv.add(ButtonWidget.builder(f_ylpnepkv, arg -> this.m_bpysxait()).width(120).build());
       this.f_meivwrmb.visitWidgets(arg2 -> {
       });
       this.repositionElements();
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/multiplayer/MultiplayerScreen.java namedSrc/net/minecraft/client/gui/screen/multiplayer/MultiplayerScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/multiplayer/MultiplayerScreen.java	2023-09-12 12:58:23.236177310 +0000
+++ namedSrc/net/minecraft/client/gui/screen/multiplayer/MultiplayerScreen.java	2023-09-12 12:56:52.868086595 +0000
@@ -190,13 +190,13 @@
       }).width(74).build());
       ButtonWidget lv3 = this.addDrawableChild(ButtonWidget.builder(Text.translatable("selectServer.refresh"), button -> this.refresh()).width(74).build());
       ButtonWidget lv4 = this.addDrawableChild(ButtonWidget.builder(CommonTexts.BACK, button -> this.client.setScreen(this.parent)).width(74).build());
-      LinearLayoutWidget lv5 = LinearLayoutWidget.m_rmmqhibe();
-      C_zuxsitrm lv6 = lv5.addChild(new C_zuxsitrm(308, 20, C_zuxsitrm.C_ekgfxrpf.HORIZONTAL));
+      LinearLayoutWidget lv5 = LinearLayoutWidget.createVertical();
+      C_zuxsitrm lv6 = lv5.add(new C_zuxsitrm(308, 20, C_zuxsitrm.C_ekgfxrpf.HORIZONTAL));
       lv6.m_nrxugcux(this.buttonJoin);
       lv6.m_nrxugcux(lv);
       lv6.m_nrxugcux(lv2);
-      lv5.addChild(SpacerWidget.withHeight(4));
-      C_zuxsitrm lv7 = lv5.addChild(new C_zuxsitrm(308, 20, C_zuxsitrm.C_ekgfxrpf.HORIZONTAL));
+      lv5.add(SpacerWidget.withHeight(4));
+      C_zuxsitrm lv7 = lv5.add(new C_zuxsitrm(308, 20, C_zuxsitrm.C_ekgfxrpf.HORIZONTAL));
       lv7.m_nrxugcux(this.buttonEdit);
       lv7.m_nrxugcux(this.buttonDelete);
       lv7.m_nrxugcux(lv3);
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/pack/PackScreen.java namedSrc/net/minecraft/client/gui/screen/pack/PackScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/pack/PackScreen.java	2023-09-12 12:58:23.220177293 +0000
+++ namedSrc/net/minecraft/client/gui/screen/pack/PackScreen.java	2023-09-12 12:56:52.852086582 +0000
@@ -31,6 +31,7 @@
 import net.minecraft.client.gui.screen.ConfirmScreen;
 import net.minecraft.client.gui.screen.NoticeScreen;
 import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.gui.screen.SymlinkWarningScreen;
 import net.minecraft.client.gui.tooltip.Tooltip;
 import net.minecraft.client.gui.widget.ButtonWidget;
 import net.minecraft.client.texture.NativeImageBackedTexture;
@@ -43,7 +44,6 @@
 import net.minecraft.resource.pack.ResourcePackProfile;
 import net.minecraft.text.CommonTexts;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_twjlxgie;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.Util;
@@ -376,7 +376,7 @@
                      }
          
                      if (!list3.isEmpty()) {
-                        this.client.setScreen(C_twjlxgie.m_qsssjrys(this));
+                        this.client.setScreen(SymlinkWarningScreen.createPackSymlinkWarningScreen(this));
                         return;
                      }
          
Only in namedSrc/net/minecraft/client/gui/screen: SymlinkWarningScreen.java
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/TelemetryDataScreen.java namedSrc/net/minecraft/client/gui/screen/TelemetryDataScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/TelemetryDataScreen.java	2023-09-12 12:58:23.256177331 +0000
+++ namedSrc/net/minecraft/client/gui/screen/TelemetryDataScreen.java	2023-09-12 12:56:52.888086610 +0000
@@ -100,16 +100,16 @@
       FrameWidget lv = new FrameWidget();
       lv.getDefaultSettings().setPadding(8);
       lv.setMinHeight(this.height);
-      LinearLayoutWidget lv2 = lv.add(LinearLayoutWidget.m_rmmqhibe(), lv.copyDefaultSettings().setAlignment(0.5F, 0.0F));
-      lv2.m_iurfbawi().alignHorizontallyCenter().setBottomPadding(8);
-      lv2.addChild(new TextWidget(this.getTitle(), this.textRenderer));
-      lv2.addChild(new MultilineTextWidget(DESCRIPTION, this.textRenderer).setMaxWidth(this.width - 16).setCentered(true));
+      LinearLayoutWidget lv2 = lv.add(LinearLayoutWidget.createVertical(), lv.copyDefaultSettings().setAlignment(0.5F, 0.0F));
+      lv2.getDefaultSettings().alignHorizontallyCenter().setBottomPadding(8);
+      lv2.add(new TextWidget(this.getTitle(), this.textRenderer));
+      lv2.add(new MultilineTextWidget(DESCRIPTION, this.textRenderer).setMaxWidth(this.width - 16).setCentered(true));
       ButtonWidget lv3 = ButtonWidget.builder(f_jzfoorlv, this::m_vxywaucf).build();
-      lv2.addChild(lv3);
+      lv2.add(lv3);
       GridWidget lv4 = this.createButtonRow(
          ButtonWidget.builder(GIVE_FEEDBACK, this::openFeedbackPage).build(), ButtonWidget.builder(SHOW_DATA, this::openLogDirectory).build()
       );
-      lv2.addChild(lv4);
+      lv2.add(lv4);
       GridWidget lv5 = this.createButtonRow(this.createOptionalTelemetryButton(), ButtonWidget.builder(CommonTexts.DONE, this::openParent).build());
       lv.add(lv5, lv.copyDefaultSettings().setAlignment(0.5F, 1.0F));
       lv.arrangeElements();
@@ -117,7 +117,7 @@
       this.eventWidget.setScrollAmount(this.savedScroll);
       this.eventWidget.setScrollConsumer(scroll -> this.savedScroll = scroll);
       this.setInitialFocus(this.eventWidget);
-      lv2.addChild(this.eventWidget);
+      lv2.add(this.eventWidget);
       lv.arrangeElements();
       FrameWidget.align(lv, 0, 0, this.width, this.height, 0.5F, 0.0F);
       lv.visitWidgets(widget -> {
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/TitleScreen.java namedSrc/net/minecraft/client/gui/screen/TitleScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/TitleScreen.java	2023-09-12 12:58:23.268177344 +0000
+++ namedSrc/net/minecraft/client/gui/screen/TitleScreen.java	2023-09-12 12:56:52.900086619 +0000
@@ -26,10 +26,10 @@
 import net.minecraft.client.gui.screen.option.OptionsScreen;
 import net.minecraft.client.gui.screen.world.SelectWorldScreen;
 import net.minecraft.client.gui.tooltip.Tooltip;
-import net.minecraft.client.gui.widget.AccessibilityOnboardingButtonWidgets;
 import net.minecraft.client.gui.widget.ButtonWidget;
 import net.minecraft.client.gui.widget.ClickableWidget;
 import net.minecraft.client.gui.widget.PlainTextButtonWidget;
+import net.minecraft.client.gui.widget.factory.AccessibilityOnboardingButtonWidgetFactories;
 import net.minecraft.client.realms.gui.screen.RealmsMainScreen;
 import net.minecraft.client.realms.gui.screen.RealmsNotificationsScreen;
 import net.minecraft.client.resource.language.I18n;
@@ -218,7 +218,7 @@
       }
 
       C_ckkrwxej lv = this.addDrawableChild(
-         AccessibilityOnboardingButtonWidgets.m_afkqeeds(
+         AccessibilityOnboardingButtonWidgetFactories.m_afkqeeds(
             20, button -> this.client.setScreen(new LanguageOptionsScreen(this, this.client.options, this.client.getLanguageManager())), true
          )
       );
@@ -234,7 +234,9 @@
             .build()
       );
       C_ckkrwxej lv2 = this.addDrawableChild(
-         AccessibilityOnboardingButtonWidgets.m_qwyqxgoi(20, button -> this.client.setScreen(new AccessibilityOptionsScreen(this, this.client.options)), true)
+         AccessibilityOnboardingButtonWidgetFactories.m_qwyqxgoi(
+            20, button -> this.client.setScreen(new AccessibilityOptionsScreen(this, this.client.options)), true
+         )
       );
       lv2.setPosition(this.width / 2 + 104, l + 72 + 12);
       this.addDrawableChild(
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/world/CreateWorldScreen.java namedSrc/net/minecraft/client/gui/screen/world/CreateWorldScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/world/CreateWorldScreen.java	2023-09-12 12:58:23.232177306 +0000
+++ namedSrc/net/minecraft/client/gui/screen/world/CreateWorldScreen.java	2023-09-12 12:56:52.864086591 +0000
@@ -42,6 +42,7 @@
 import net.minecraft.client.gui.widget.HeaderBar;
 import net.minecraft.client.gui.widget.TextFieldWidget;
 import net.minecraft.client.gui.widget.container.LayoutSettings;
+import net.minecraft.client.gui.widget.factory.LayoutWidgetFactories;
 import net.minecraft.client.toast.SystemToast;
 import net.minecraft.client.world.GeneratorType;
 import net.minecraft.client.world.GeneratorTypes;
@@ -64,7 +65,6 @@
 import net.minecraft.text.CommonTexts;
 import net.minecraft.text.MutableText;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_vjsalahs;
 import net.minecraft.util.FileNameUtil;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.Identifier;
@@ -125,9 +125,9 @@
    static final Text GAME_MODE = Text.translatable("selectWorld.gameMode");
    /**
     * @mapping {@literal hashed f_hxpwlzvr Lnet/minecraft/unmapped/C_ibkofvzc;f_hxpwlzvr:Lnet/minecraft/unmapped/C_rdaqiwdt;}
-    * @mapping {@literal named ENTER_NAME Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;ENTER_NAME:Lnet/minecraft/text/Text;}
+    * @mapping {@literal named ENTER_WORLD_NAME Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;ENTER_WORLD_NAME:Lnet/minecraft/text/Text;}
     */
-   static final Text ENTER_NAME = Text.translatable("selectWorld.enterName");
+   static final Text ENTER_WORLD_NAME = Text.translatable("selectWorld.enterName");
    /**
     * @mapping {@literal hashed f_puiuugkf Lnet/minecraft/unmapped/C_ibkofvzc;f_puiuugkf:Lnet/minecraft/unmapped/C_rdaqiwdt;}
     * @mapping {@literal named EXPERIMENTS Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;EXPERIMENTS:Lnet/minecraft/text/Text;}
@@ -177,7 +177,7 @@
     * @mapping {@literal hashed f_ztgjtcrr Lnet/minecraft/unmapped/C_ibkofvzc;f_ztgjtcrr:Lnet/minecraft/unmapped/C_shidhwhk;}
     * @mapping {@literal named tabManager Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;tabManager:Lnet/minecraft/client/gui/tab/TabManager;}
     */
-   private final TabManager tabManager = new TabManager(this::addDrawableChild, arg2 -> this.remove(arg2));
+   private final TabManager tabManager = new TabManager(this::addDrawableChild, widget -> this.remove(widget));
    /**
     * @mapping {@literal hashed f_bqfuezdy Lnet/minecraft/unmapped/C_ibkofvzc;f_bqfuezdy:Z}
     * @mapping {@literal named reopened Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;reopened:Z}
@@ -260,7 +260,7 @@
          client, parent, context, GeneratorTypes.getKey(context.selectedDimensions().dimensions()), OptionalLong.of(context.options().getSeed())
       );
       lv.reopened = true;
-      lv.worldCreator.setWorldName(info.getLevelName());
+      lv.worldCreator.setWorldName(info.getName());
       lv.worldCreator.setCheatsEnabled(info.areCommandsAllowed());
       lv.worldCreator.setDifficulty(info.getDifficulty());
       lv.worldCreator.getGameRules().setAllValues(info.getGameRules(), null);
@@ -308,7 +308,7 @@
       this.addDrawableChild(this.header);
       this.grid = new GridWidget().setColumnSpacing(10);
       GridWidget.AdditionHelper lv = this.grid.createAdditionHelper(2);
-      lv.add(ButtonWidget.builder(Text.translatable("selectWorld.create"), button -> this.createLevel()).build());
+      lv.add(ButtonWidget.builder(Text.translatable("selectWorld.create"), button -> this.createWorld()).build());
       lv.add(ButtonWidget.builder(CommonTexts.CANCEL, button -> this.onCloseScreen()).build());
       this.grid.visitWidgets(widget -> {
          widget.setTabNavigationOrder(1);
@@ -345,9 +345,9 @@
 
    /**
     * @mapping {@literal hashed m_xdqbchlc Lnet/minecraft/unmapped/C_ibkofvzc;m_xdqbchlc()V}
-    * @mapping {@literal named createLevel Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;createLevel()V}
+    * @mapping {@literal named createWorld Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;createWorld()V}
     */
-   private void createLevel() {
+   private void createWorld() {
       WorldCreationContext lv = this.worldCreator.getContext();
       WorldDimensions.Baked lv2 = lv.selectedDimensions().bake(lv.datapackDimensions());
       LayeredRegistryManager<ServerRegistryLayer> lv3 = lv.worldgenRegistries().withReplacedLayers(ServerRegistryLayer.DIMENSIONS, lv2.toRegistryManager());
@@ -369,7 +369,7 @@
          this.clearDataPackTempDir();
          boolean bl = type == WorldSaveProperties.WorldType.DEBUG;
          WorldCreationContext lv = this.worldCreator.getContext();
-         WorldInfo lv2 = this.createLevelInfo(bl);
+         WorldInfo lv2 = this.createWorldInfo(bl);
          SaveProperties lv3 = new WorldSaveProperties(lv2, lv.options(), type, lifecycle);
          this.client.createIntegratedServerLoader().start((WorldSaveStorage.Session)optional.get(), lv.resources(), manager, lv3);
       }
@@ -377,13 +377,13 @@
 
    /**
     * @mapping {@literal hashed m_ficgwtev Lnet/minecraft/unmapped/C_ibkofvzc;m_ficgwtev(Z)Lnet/minecraft/unmapped/C_tmnkpzlg;}
-    * @mapping {@literal named createLevelInfo Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;createLevelInfo(Z)Lnet/minecraft/world/WorldInfo;}
+    * @mapping {@literal named createWorldInfo Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;createWorldInfo(Z)Lnet/minecraft/world/WorldInfo;}
     */
-   private WorldInfo createLevelInfo(boolean debugWorld) {
+   private WorldInfo createWorldInfo(boolean debugWorld) {
       String string = this.worldCreator.getWorldName().trim();
       if (debugWorld) {
          GameRules lv = new GameRules();
-         lv.get(GameRules.DO_DAYLIGHT_CYCLE).set(false, null);
+         lv.get(GameRules.DO_DAYLIGHT_CYCLE).setValue(false, null);
          return new WorldInfo(string, GameMode.SPECTATOR, false, Difficulty.PEACEFUL, true, lv, FeatureAndDataSettings.MINIMAL);
       } else {
          return new WorldInfo(
@@ -410,7 +410,7 @@
       } else if (keyCode != GLFW.GLFW_KEY_ENTER && keyCode != GLFW.GLFW_KEY_KP_ENTER) {
          return false;
       } else {
-         this.createLevel();
+         this.createWorld();
          return true;
       }
    }
@@ -498,15 +498,18 @@
 
    /**
     * @mapping {@literal hashed m_evbwddxa Lnet/minecraft/unmapped/C_ibkofvzc;m_evbwddxa(Lnet/minecraft/unmapped/C_yknpgzdr;)V}
-    * @mapping {@literal named openPackScreen Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;openPackScreen(Lnet/minecraft/server/world/FeatureAndDataSettings;)V}
+    * @mapping {@literal named openDataPacksScreen Lnet/minecraft/client/gui/screen/world/CreateWorldScreen;openDataPacksScreen(Lnet/minecraft/server/world/FeatureAndDataSettings;)V}
     */
-   void openPackScreen(FeatureAndDataSettings settings) {
+   void openDataPacksScreen(FeatureAndDataSettings settings) {
       Pair<Path, ResourcePackManager> pair = this.getScannedPack(settings);
       if (pair != null) {
          this.client
             .setScreen(
                new PackScreen(
-                  pair.getSecond(), manager -> this.applyDataPacks(manager, true, this::openPackScreen), pair.getFirst(), Text.translatable("dataPack.title")
+                  pair.getSecond(),
+                  manager -> this.applyDataPacks(manager, true, this::openDataPacksScreen),
+                  pair.getFirst(),
+                  Text.translatable("dataPack.title")
                )
             );
       }
@@ -518,7 +521,7 @@
     */
    private void applyDataPacks(ResourcePackManager dataPackManager, boolean warnForExperimentsIfApplicable, Consumer<FeatureAndDataSettings> consumer) {
       List<String> list = ImmutableList.copyOf(dataPackManager.getEnabledNames());
-      List<String> list2 = (List)dataPackManager.getNames().stream().filter(string -> !list.contains(string)).collect(ImmutableList.toImmutableList());
+      List<String> list2 = (List)dataPackManager.getNames().stream().filter(name -> !list.contains(name)).collect(ImmutableList.toImmutableList());
       FeatureAndDataSettings lv = new FeatureAndDataSettings(
          new DataPackSettings(list, list2), this.worldCreator.getContext().dataConfiguration().enabledFeatures()
       );
@@ -527,8 +530,8 @@
       } else {
          FeatureFlagBitSet lv2 = dataPackManager.getRequestedFeatures();
          if (FeatureFlags.containsDefault(lv2) && warnForExperimentsIfApplicable) {
-            this.client.setScreen(new ExperimentalFeaturesWarningScreen(dataPackManager.getEnabledProfiles(), bl -> {
-               if (bl) {
+            this.client.setScreen(new ExperimentalFeaturesWarningScreen(dataPackManager.getEnabledProfiles(), proceed -> {
+               if (proceed) {
                   this.validateDataPacks(dataPackManager, lv, consumer);
                } else {
                   consumer.accept(this.worldCreator.getContext().dataConfiguration());
@@ -549,39 +552,41 @@
       WorldLoader.InitConfig lv = createDefaultLoadConfig(manager, settings);
       WorldLoader.<CreateWorldScreen.WorldCreationSettings, WorldCreationContext>load(
             lv,
-            arg -> {
-               if (arg.datapackWorldgen().get(RegistryKeys.GENERATOR_TYPE).size() == 0) {
+            context -> {
+               if (context.datapackWorldgen().get(RegistryKeys.GENERATOR_TYPE).size() == 0) {
                   throw new IllegalStateException("Needs at least one world preset to continue");
-               } else if (arg.datapackWorldgen().get(RegistryKeys.BIOME).size() == 0) {
+               } else if (context.datapackWorldgen().get(RegistryKeys.BIOME).size() == 0) {
                   throw new IllegalStateException("Needs at least one biome continue");
                } else {
                   WorldCreationContext lvx = this.worldCreator.getContext();
                   DynamicOps<JsonElement> dynamicOps = RegistryOps.create(JsonOps.INSTANCE, lvx.getWorldgenRegistryManager());
                   DataResult<JsonElement> dataResult = GeneratorOptions.encode(dynamicOps, lvx.options(), lvx.selectedDimensions())
                      .setLifecycle(Lifecycle.stable());
-                  DynamicOps<JsonElement> dynamicOps2 = RegistryOps.create(JsonOps.INSTANCE, arg.datapackWorldgen());
-                  GeneratorOptions lv2 = dataResult.<GeneratorOptions>flatMap(jsonElement -> GeneratorOptions.CODEC.parse(dynamicOps2, jsonElement))
+                  DynamicOps<JsonElement> dynamicOps2 = RegistryOps.create(JsonOps.INSTANCE, context.datapackWorldgen());
+                  GeneratorOptions lv2 = dataResult.<GeneratorOptions>flatMap(encodedOptions -> GeneratorOptions.CODEC.parse(dynamicOps2, encodedOptions))
                      .getOrThrow(false, Util.addPrefix("Error parsing worldgen settings after loading data packs: ", LOGGER::error));
-                  return new WorldLoader.DataLoadOutput<>(new CreateWorldScreen.WorldCreationSettings(lv2, arg.dataConfiguration()), arg.datapackDimensions());
+                  return new WorldLoader.DataLoadOutput<>(
+                     new CreateWorldScreen.WorldCreationSettings(lv2, context.dataConfiguration()), context.datapackDimensions()
+                  );
                }
             },
-            (resourceManager, resources, arg3, arg4) -> {
+            (resourceManager, resources, registryManager, worldCreationSettings) -> {
                resourceManager.close();
-               return new WorldCreationContext(arg4.worldGenSettings(), arg3, resources, arg4.dataConfiguration());
+               return new WorldCreationContext(worldCreationSettings.worldGenSettings(), registryManager, resources, worldCreationSettings.dataConfiguration());
             },
             Util.getMainWorkerExecutor(),
             this.client
          )
          .thenAcceptAsync(this.worldCreator::setContext, this.client)
          .handle(
-            (arg, throwable) -> {
-               if (throwable != null) {
-                  LOGGER.warn("Failed to validate datapack", throwable);
+            (result, exception) -> {
+               if (exception != null) {
+                  LOGGER.warn("Failed to validate datapack", exception);
                   this.client
                      .setScreen(
                         new ConfirmScreen(
-                           bl -> {
-                              if (bl) {
+                           confirmed -> {
+                              if (confirmed) {
                                  consumer.accept(this.worldCreator.getContext().dataConfiguration());
                               } else {
                                  consumer.accept(FeatureAndDataSettings.MINIMAL);
@@ -684,7 +689,7 @@
             try {
                Path path = lv.getDirectory(WorldSavePath.DATAPACKS);
                FileNameUtil.createDirectoriesAndFollowSymlinks(path);
-               stream.filter(pathx -> !pathx.equals(this.dataPackTempDir)).forEach(path2 -> copyDataPack(this.dataPackTempDir, path, path2));
+               stream.filter(pathx -> !pathx.equals(this.dataPackTempDir)).forEach(dataPackFile -> copyDataPack(this.dataPackTempDir, path, dataPackFile));
                var5 = Optional.of(lv);
             } catch (Throwable var7) {
                if (stream != null) {
@@ -728,7 +733,7 @@
          Stream<Path> stream = Files.walk(srcFolder);
 
          try {
-            stream.filter(path2 -> !path2.equals(srcFolder)).forEach(path2 -> {
+            stream.filter(path -> !path.equals(srcFolder)).forEach(dataPackFile -> {
                Path path3 = mutableObject.getValue();
                if (path3 == null) {
                   try {
@@ -741,7 +746,7 @@
                   mutableObject.setValue(path3);
                }
 
-               copyDataPack(srcFolder, path3, path2);
+               copyDataPack(srcFolder, path3, dataPackFile);
             });
          } catch (Throwable var7) {
             if (stream != null) {
@@ -805,9 +810,9 @@
       private static final Text ALLOW_COMMANDS = Text.translatable("selectWorld.allowCommands");
       /**
        * @mapping {@literal hashed f_cdxgyrot Lnet/minecraft/unmapped/C_ibkofvzc$C_dzlctpdf;f_cdxgyrot:Lnet/minecraft/unmapped/C_vopzcnhf;}
-       * @mapping {@literal named nameInput Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$GameTab;nameInput:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
+       * @mapping {@literal named worldNameField Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$GameTab;worldNameField:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
        */
-      private final TextFieldWidget nameInput;
+      private final TextFieldWidget worldNameField;
 
       /**
        * Mapping not found
@@ -816,49 +821,53 @@
          super(GAME_TAB_TITLE);
          GridWidget.AdditionHelper lv = this.grid.setRowSpacing(8).createAdditionHelper(1);
          LayoutSettings lv2 = lv.copyDefaultSettings();
-         this.nameInput = new TextFieldWidget(CreateWorldScreen.this.textRenderer, 208, 20, Text.translatable("selectWorld.enterName"));
-         this.nameInput.setText(CreateWorldScreen.this.worldCreator.getWorldName());
-         this.nameInput.setChangedListener(CreateWorldScreen.this.worldCreator::setWorldName);
+         this.worldNameField = new TextFieldWidget(CreateWorldScreen.this.textRenderer, 208, 20, Text.translatable("selectWorld.enterName"));
+         this.worldNameField.setText(CreateWorldScreen.this.worldCreator.getWorldName());
+         this.worldNameField.setChangedListener(CreateWorldScreen.this.worldCreator::setWorldName);
          CreateWorldScreen.this.worldCreator
             .addListener(
-               argx -> this.nameInput
+               worldCreator -> this.worldNameField
                      .setTooltip(
-                        Tooltip.create(Text.translatable("selectWorld.targetFolder", Text.literal(argx.getSaveFolderName()).formatted(Formatting.ITALIC)))
+                        Tooltip.create(
+                           Text.translatable("selectWorld.targetFolder", Text.literal(worldCreator.getSaveFolderName()).formatted(Formatting.ITALIC))
+                        )
                      )
             );
-         CreateWorldScreen.this.setInitialFocus(this.nameInput);
+         CreateWorldScreen.this.setInitialFocus(this.worldNameField);
          lv.add(
-            C_vjsalahs.m_amzuwyks(CreateWorldScreen.this.textRenderer, this.nameInput, CreateWorldScreen.ENTER_NAME),
+            LayoutWidgetFactories.createWithTitledRow(CreateWorldScreen.this.textRenderer, this.worldNameField, CreateWorldScreen.ENTER_WORLD_NAME),
             lv.copyDefaultSettings().alignHorizontallyCenter()
          );
          CyclingButtonWidget<WorldCreator.GameMode> lv3 = lv.add(
-            CyclingButtonWidget.<WorldCreator.GameMode>builder(argx -> argx.name)
+            CyclingButtonWidget.<WorldCreator.GameMode>builder(gameMode -> gameMode.name)
                .values(WorldCreator.GameMode.SURVIVAL, WorldCreator.GameMode.HARDCORE, WorldCreator.GameMode.CREATIVE)
-               .build(0, 0, 210, 20, CreateWorldScreen.GAME_MODE, (argx, arg2) -> CreateWorldScreen.this.worldCreator.setGameMode(arg2)),
+               .build(0, 0, 210, 20, CreateWorldScreen.GAME_MODE, (button, gameMode) -> CreateWorldScreen.this.worldCreator.setGameMode(gameMode)),
             lv2
          );
-         CreateWorldScreen.this.worldCreator.addListener(arg2 -> {
-            lv3.setValue(arg2.getGameMode());
-            lv3.active = !arg2.isDebug();
-            lv3.setTooltip(Tooltip.create(arg2.getGameMode().getInfo()));
+         CreateWorldScreen.this.worldCreator.addListener(worldCreator -> {
+            lv3.setValue(worldCreator.getGameMode());
+            lv3.active = !worldCreator.isDebug();
+            lv3.setTooltip(Tooltip.create(worldCreator.getGameMode().getInfo()));
          });
          CyclingButtonWidget<Difficulty> lv4 = lv.add(
             CyclingButtonWidget.<Difficulty>builder(Difficulty::getTranslatableName)
                .values(Difficulty.values())
-               .build(0, 0, 210, 20, Text.translatable("options.difficulty"), (argx, arg2) -> CreateWorldScreen.this.worldCreator.setDifficulty(arg2)),
+               .build(
+                  0, 0, 210, 20, Text.translatable("options.difficulty"), (button, difficulty) -> CreateWorldScreen.this.worldCreator.setDifficulty(difficulty)
+               ),
             lv2
          );
-         CreateWorldScreen.this.worldCreator.addListener(arg2 -> {
+         CreateWorldScreen.this.worldCreator.addListener(worldCreator -> {
             lv4.setValue(CreateWorldScreen.this.worldCreator.getDifficulty());
             lv4.active = !CreateWorldScreen.this.worldCreator.isHardcore();
             lv4.setTooltip(Tooltip.create(CreateWorldScreen.this.worldCreator.getDifficulty().getInfoText()));
          });
          CyclingButtonWidget<Boolean> lv5 = lv.add(
             CyclingButtonWidget.onOffBuilder()
-               .tooltip(argx -> Tooltip.create(CreateWorldScreen.ALLOW_COMMANDS_INFO))
-               .build(0, 0, 210, 20, ALLOW_COMMANDS, (argx, arg2) -> CreateWorldScreen.this.worldCreator.setCheatsEnabled(arg2))
+               .tooltip(allowCommandsInfo -> Tooltip.create(CreateWorldScreen.ALLOW_COMMANDS_INFO))
+               .build(0, 0, 210, 20, ALLOW_COMMANDS, (button, cheatsEnabled) -> CreateWorldScreen.this.worldCreator.setCheatsEnabled(cheatsEnabled))
          );
-         CreateWorldScreen.this.worldCreator.addListener(arg2 -> {
+         CreateWorldScreen.this.worldCreator.addListener(worldCreator -> {
             lv5.setValue(CreateWorldScreen.this.worldCreator.areCheatsEnabled());
             lv5.active = !CreateWorldScreen.this.worldCreator.isDebug() && !CreateWorldScreen.this.worldCreator.isHardcore();
          });
@@ -866,7 +875,7 @@
             lv.add(
                ButtonWidget.builder(
                      CreateWorldScreen.EXPERIMENTS,
-                     argx -> CreateWorldScreen.this.openExperimentsScreen(CreateWorldScreen.this.worldCreator.getContext().dataConfiguration())
+                     button -> CreateWorldScreen.this.openExperimentsScreen(CreateWorldScreen.this.worldCreator.getContext().dataConfiguration())
                   )
                   .width(210)
                   .build()
@@ -883,9 +892,9 @@
    class MoreTab extends GridWidgetTab {
       /**
        * @mapping {@literal hashed f_vuqzvibe Lnet/minecraft/unmapped/C_ibkofvzc$C_eyotidzo;f_vuqzvibe:Lnet/minecraft/unmapped/C_rdaqiwdt;}
-       * @mapping {@literal named MORE_TAB_TITLE Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$MoreTab;MORE_TAB_TITLE:Lnet/minecraft/text/Text;}
+       * @mapping {@literal named TITLE Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$MoreTab;TITLE:Lnet/minecraft/text/Text;}
        */
-      private static final Text MORE_TAB_TITLE = Text.translatable("createWorld.tab.more.title");
+      private static final Text TITLE = Text.translatable("createWorld.tab.more.title");
       /**
        * @mapping {@literal hashed f_eowlglnv Lnet/minecraft/unmapped/C_ibkofvzc$C_eyotidzo;f_eowlglnv:Lnet/minecraft/unmapped/C_rdaqiwdt;}
        * @mapping {@literal named GAME_RULES Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$MoreTab;GAME_RULES:Lnet/minecraft/text/Text;}
@@ -901,20 +910,20 @@
        * Mapping not found
        */
       MoreTab() {
-         super(MORE_TAB_TITLE);
+         super(TITLE);
          GridWidget.AdditionHelper lv = this.grid.setRowSpacing(8).createAdditionHelper(1);
-         lv.add(ButtonWidget.builder(GAME_RULES, argx -> this.openGameRulesScreen()).width(210).build());
+         lv.add(ButtonWidget.builder(GAME_RULES, button -> this.openEditGameRulesScreen()).width(210).build());
          lv.add(
             ButtonWidget.builder(
                   CreateWorldScreen.EXPERIMENTS,
-                  argx -> CreateWorldScreen.this.openExperimentsScreen(CreateWorldScreen.this.worldCreator.getContext().dataConfiguration())
+                  button -> CreateWorldScreen.this.openExperimentsScreen(CreateWorldScreen.this.worldCreator.getContext().dataConfiguration())
                )
                .width(210)
                .build()
          );
          lv.add(
             ButtonWidget.builder(
-                  DATA_PACKS, argx -> CreateWorldScreen.this.openPackScreen(CreateWorldScreen.this.worldCreator.getContext().dataConfiguration())
+                  DATA_PACKS, button -> CreateWorldScreen.this.openDataPacksScreen(CreateWorldScreen.this.worldCreator.getContext().dataConfiguration())
                )
                .width(210)
                .build()
@@ -923,12 +932,12 @@
 
       /**
        * @mapping {@literal hashed m_qeuzybrv Lnet/minecraft/unmapped/C_ibkofvzc$C_eyotidzo;m_qeuzybrv()V}
-       * @mapping {@literal named openGameRulesScreen Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$MoreTab;openGameRulesScreen()V}
+       * @mapping {@literal named openEditGameRulesScreen Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$MoreTab;openEditGameRulesScreen()V}
        */
-      private void openGameRulesScreen() {
-         CreateWorldScreen.this.client.setScreen(new EditGameRulesScreen(CreateWorldScreen.this.worldCreator.getGameRules().copy(), optional -> {
+      private void openEditGameRulesScreen() {
+         CreateWorldScreen.this.client.setScreen(new EditGameRulesScreen(CreateWorldScreen.this.worldCreator.getGameRules().copy(), gameRules -> {
             CreateWorldScreen.this.client.setScreen(CreateWorldScreen.this);
-            optional.ifPresent(CreateWorldScreen.this.worldCreator::setGameRules);
+            gameRules.ifPresent(CreateWorldScreen.this.worldCreator::setGameRules);
          }));
       }
    }
@@ -989,9 +998,9 @@
       private static final int WORLD_TAB_WIDTH = 310;
       /**
        * @mapping {@literal hashed f_glihoeql Lnet/minecraft/unmapped/C_ibkofvzc$C_emutyvqg;f_glihoeql:Lnet/minecraft/unmapped/C_vopzcnhf;}
-       * @mapping {@literal named seedInput Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$WorldTab;seedInput:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
+       * @mapping {@literal named seedField Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$WorldTab;seedField:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
        */
-      private final TextFieldWidget seedInput;
+      private final TextFieldWidget seedField;
       /**
        * @mapping {@literal hashed f_ixnusskg Lnet/minecraft/unmapped/C_ibkofvzc$C_emutyvqg;f_ixnusskg:Lnet/minecraft/unmapped/C_buwziidm;}
        * @mapping {@literal named customizeTypeButton Lnet/minecraft/client/gui/screen/world/CreateWorldScreen$WorldTab;customizeTypeButton:Lnet/minecraft/client/gui/widget/ButtonWidget;}
@@ -1008,11 +1017,13 @@
             CyclingButtonWidget.<WorldCreator.WorldTypeEntry>builder(WorldCreator.WorldTypeEntry::getName)
                .values(this.createWorldTypeSupplier())
                .narration(CreateWorldScreen.WorldTab::createButtonNarration)
-               .build(0, 0, 150, 20, Text.translatable("selectWorld.mapType"), (argx, arg2) -> CreateWorldScreen.this.worldCreator.setWorldType(arg2))
+               .build(
+                  0, 0, 150, 20, Text.translatable("selectWorld.mapType"), (button, worldType) -> CreateWorldScreen.this.worldCreator.setWorldType(worldType)
+               )
          );
          lv2.setValue(CreateWorldScreen.this.worldCreator.getWorldType());
-         CreateWorldScreen.this.worldCreator.addListener(arg2 -> {
-            WorldCreator.WorldTypeEntry lvx = arg2.getWorldType();
+         CreateWorldScreen.this.worldCreator.addListener(worldCreator -> {
+            WorldCreator.WorldTypeEntry lvx = worldCreator.getWorldType();
             lv2.setValue(lvx);
             if (lvx.isAmplified()) {
                lv2.setTooltip(Tooltip.create(AMPLIFIED_INFO));
@@ -1022,9 +1033,10 @@
 
             lv2.active = CreateWorldScreen.this.worldCreator.getWorldType().preset() != null;
          });
-         this.customizeTypeButton = lv.add(ButtonWidget.builder(Text.translatable("selectWorld.customizeType"), argx -> this.openPresetsScreen()).build());
-         CreateWorldScreen.this.worldCreator.addListener(argx -> this.customizeTypeButton.active = !argx.isDebug() && argx.getScreenProvider() != null);
-         this.seedInput = new TextFieldWidget(CreateWorldScreen.this.textRenderer, 308, 20, Text.translatable("selectWorld.enterSeed")) {
+         this.customizeTypeButton = lv.add(ButtonWidget.builder(Text.translatable("selectWorld.customizeType"), button -> this.openPresetsScreen()).build());
+         CreateWorldScreen.this.worldCreator
+            .addListener(worldCreator -> this.customizeTypeButton.active = !worldCreator.isDebug() && worldCreator.getScreenProvider() != null);
+         this.seedField = new TextFieldWidget(CreateWorldScreen.this.textRenderer, 308, 20, Text.translatable("selectWorld.enterSeed")) {
             /**
              * Mapping not found
              */
@@ -1033,18 +1045,18 @@
                return super.getNarrationMessage().append(CommonTexts.SENTENCE_SEPARATOR).append(CreateWorldScreen.WorldTab.SEED_INFO);
             }
          };
-         this.seedInput.setHint(SEED_INFO);
-         this.seedInput.setText(CreateWorldScreen.this.worldCreator.getSeed());
-         this.seedInput.setChangedListener(string -> CreateWorldScreen.this.worldCreator.setSeed(this.seedInput.getText()));
-         lv.add(C_vjsalahs.m_amzuwyks(CreateWorldScreen.this.textRenderer, this.seedInput, ENTER_SEED), 2);
+         this.seedField.setHint(SEED_INFO);
+         this.seedField.setText(CreateWorldScreen.this.worldCreator.getSeed());
+         this.seedField.setChangedListener(seed -> CreateWorldScreen.this.worldCreator.setSeed(this.seedField.getText()));
+         lv.add(LayoutWidgetFactories.createWithTitledRow(CreateWorldScreen.this.textRenderer, this.seedField, ENTER_SEED), 2);
          SwitchGrid.Builder lv3 = SwitchGrid.builder(310);
          lv3.button(MAP_FEATURES, CreateWorldScreen.this.worldCreator::shouldGenerateStructures, CreateWorldScreen.this.worldCreator::setGenerateStructures)
             .condition(() -> !CreateWorldScreen.this.worldCreator.isDebug())
             .info(MAP_FEATURES_INFO);
          lv3.button(BONUS_ITEMS, CreateWorldScreen.this.worldCreator::isBonusChestEnabled, CreateWorldScreen.this.worldCreator::setBonusChestEnabled)
             .condition(() -> !CreateWorldScreen.this.worldCreator.isHardcore() && !CreateWorldScreen.this.worldCreator.isDebug());
-         SwitchGrid lv4 = lv3.build(arg2 -> lv.add(arg2, 2));
-         CreateWorldScreen.this.worldCreator.addListener(arg2 -> lv4.updateStates());
+         SwitchGrid lv4 = lv3.build(grid -> lv.add(grid, 2));
+         CreateWorldScreen.this.worldCreator.addListener(worldCreator -> lv4.updateStates());
       }
 
       /**

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

View the diff here (2/3):
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/world/EditGameRulesScreen.java namedSrc/net/minecraft/client/gui/screen/world/EditGameRulesScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/world/EditGameRulesScreen.java	2023-09-12 12:58:23.356177438 +0000
+++ namedSrc/net/minecraft/client/gui/screen/world/EditGameRulesScreen.java	2023-09-12 12:56:52.996086694 +0000
@@ -46,14 +46,14 @@
    private final Consumer<Optional<GameRules>> ruleSaver;
    /**
     * @mapping {@literal hashed f_amstfopq Lnet/minecraft/unmapped/C_ajacvfls;f_amstfopq:Lnet/minecraft/unmapped/C_ajacvfls$C_ymfbyxcw;}
-    * @mapping {@literal named ruleListWidget Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;ruleListWidget:Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleListWidget;}
+    * @mapping {@literal named gameRuleEntryList Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;gameRuleEntryList:Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryListWidget;}
     */
-   private EditGameRulesScreen.RuleListWidget ruleListWidget;
+   private EditGameRulesScreen.GameRuleEntryListWidget gameRuleEntryList;
    /**
     * @mapping {@literal hashed f_pbijwiia Lnet/minecraft/unmapped/C_ajacvfls;f_pbijwiia:Ljava/util/Set;}
     * @mapping {@literal named invalidRuleWidgets Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;invalidRuleWidgets:Ljava/util/Set;}
     */
-   private final Set<EditGameRulesScreen.AbstractRuleWidget> invalidRuleWidgets = Sets.<EditGameRulesScreen.AbstractRuleWidget>newHashSet();
+   private final Set<EditGameRulesScreen.AbstractEntry> invalidRuleWidgets = Sets.<EditGameRulesScreen.AbstractEntry>newHashSet();
    /**
     * @mapping {@literal hashed f_isrywwwb Lnet/minecraft/unmapped/C_ajacvfls;f_isrywwwb:Lnet/minecraft/unmapped/C_buwziidm;}
     * @mapping {@literal named doneButton Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;doneButton:Lnet/minecraft/client/gui/widget/ButtonWidget;}
@@ -86,8 +86,8 @@
     */
    @Override
    protected void init() {
-      this.ruleListWidget = new EditGameRulesScreen.RuleListWidget(this.gameRules);
-      this.addSelectableChild(this.ruleListWidget);
+      this.gameRuleEntryList = new EditGameRulesScreen.GameRuleEntryListWidget(this.gameRules);
+      this.addSelectableChild(this.gameRuleEntryList);
       GridWidget.AdditionHelper lv = new GridWidget().setColumnSpacing(10).createAdditionHelper(2);
       this.doneButton = lv.add(ButtonWidget.builder(CommonTexts.DONE, button -> this.ruleSaver.accept(Optional.of(this.gameRules))).build());
       lv.add(ButtonWidget.builder(CommonTexts.CANCEL, button -> this.ruleSaver.accept(Optional.empty())).build());
@@ -112,7 +112,7 @@
    public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) {
       super.render(graphics, mouseX, mouseY, delta);
       this.tooltip = null;
-      this.ruleListWidget.render(graphics, mouseX, mouseY, delta);
+      this.gameRuleEntryList.render(graphics, mouseX, mouseY, delta);
       graphics.drawCenteredShadowedText(this.textRenderer, this.title, this.width / 2, 20, 16777215);
    }
 
@@ -126,66 +126,66 @@
 
    /**
     * @mapping {@literal hashed m_goeyswoi Lnet/minecraft/unmapped/C_ajacvfls;m_goeyswoi(Lnet/minecraft/unmapped/C_ajacvfls$C_vdrulthz;)V}
-    * @mapping {@literal named markInvalid Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;markInvalid(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractRuleWidget;)V}
+    * @mapping {@literal named markInvalid Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;markInvalid(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractEntry;)V}
     */
-   void markInvalid(EditGameRulesScreen.AbstractRuleWidget ruleWidget) {
+   void markInvalid(EditGameRulesScreen.AbstractEntry ruleWidget) {
       this.invalidRuleWidgets.add(ruleWidget);
       this.updateDoneButton();
    }
 
    /**
     * @mapping {@literal hashed m_ocffiabp Lnet/minecraft/unmapped/C_ajacvfls;m_ocffiabp(Lnet/minecraft/unmapped/C_ajacvfls$C_vdrulthz;)V}
-    * @mapping {@literal named markValid Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;markValid(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractRuleWidget;)V}
+    * @mapping {@literal named markValid Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;markValid(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractEntry;)V}
     */
-   void markValid(EditGameRulesScreen.AbstractRuleWidget ruleWidget) {
+   void markValid(EditGameRulesScreen.AbstractEntry ruleWidget) {
       this.invalidRuleWidgets.remove(ruleWidget);
       this.updateDoneButton();
    }
 
    /**
     * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_vdrulthz}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractRuleWidget}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractEntry}
     */
    @Environment(EnvType.CLIENT)
-   public abstract static class AbstractRuleWidget extends ElementListWidget.Entry<EditGameRulesScreen.AbstractRuleWidget> {
+   public abstract static class AbstractEntry extends ElementListWidget.Entry<EditGameRulesScreen.AbstractEntry> {
       /**
        * @mapping {@literal hashed f_eexekwhn Lnet/minecraft/unmapped/C_ajacvfls$C_vdrulthz;f_eexekwhn:Ljava/util/List;}
-       * @mapping {@literal named description Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractRuleWidget;description:Ljava/util/List;}
+       * @mapping {@literal named tooltip Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractEntry;tooltip:Ljava/util/List;}
        */
       @Nullable
-      final List<OrderedText> description;
+      final List<OrderedText> tooltip;
 
       /**
        * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_vdrulthz;<init>(Ljava/util/List;)V}
-       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractRuleWidget;<init>(Ljava/util/List;)V}
+       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractEntry;<init>(Ljava/util/List;)V}
        */
-      public AbstractRuleWidget(@Nullable List<OrderedText> description) {
-         this.description = description;
+      public AbstractEntry(@Nullable List<OrderedText> tooltip) {
+         this.tooltip = tooltip;
       }
    }
 
    /**
     * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_xpragfeh}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$BooleanRuleWidget}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$BooleanGameRuleEntry}
     */
    @Environment(EnvType.CLIENT)
-   public class BooleanRuleWidget extends EditGameRulesScreen.NamedRuleWidget {
+   public class BooleanGameRuleEntry extends EditGameRulesScreen.GameRuleEntry {
       /**
        * @mapping {@literal hashed f_ofxfnaaa Lnet/minecraft/unmapped/C_ajacvfls$C_xpragfeh;f_ofxfnaaa:Lnet/minecraft/unmapped/C_ikfvpkkf;}
-       * @mapping {@literal named toggleButton Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$BooleanRuleWidget;toggleButton:Lnet/minecraft/client/gui/widget/CyclingButtonWidget;}
+       * @mapping {@literal named toggleButton Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$BooleanGameRuleEntry;toggleButton:Lnet/minecraft/client/gui/widget/CyclingButtonWidget;}
        */
       private final CyclingButtonWidget<Boolean> toggleButton;
 
       /**
        * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_xpragfeh;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/unmapped/C_xmldumst$C_juzzykai;)V}
-       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$BooleanRuleWidget;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/text/Text;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/GameRules$BooleanRule;)V}
+       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$BooleanGameRuleEntry;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/text/Text;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/GameRules$BooleanGameRule;)V}
        */
-      public BooleanRuleWidget(Text name, List<OrderedText> description, String ruleName, GameRules.BooleanRule rule) {
-         super(description, name);
-         this.toggleButton = CyclingButtonWidget.onOffBuilder(rule.get())
+      public BooleanGameRuleEntry(Text message, List<OrderedText> tooltip, String description, GameRules.BooleanGameRule gameRule) {
+         super(tooltip, message);
+         this.toggleButton = CyclingButtonWidget.onOffBuilder(gameRule.getValue())
             .omitKeyText()
-            .narration(button -> button.getGenericNarrationMessage().append("\n").append(ruleName))
-            .build(10, 5, 44, 20, name, (button, value) -> rule.set(value, null));
+            .narration(button -> button.getGenericNarrationMessage().append("\n").append(description))
+            .build(10, 5, 44, 20, message, (button, value) -> gameRule.setValue(value, null));
          this.children.add(this.toggleButton);
       }
 
@@ -196,7 +196,7 @@
       public void render(
          GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta
       ) {
-         this.drawName(graphics, y, x);
+         this.drawMessage(graphics, y, x);
          this.toggleButton.setX(x + entryWidth - 45);
          this.toggleButton.setY(y);
          this.toggleButton.render(graphics, mouseX, mouseY, tickDelta);
@@ -204,37 +204,24 @@
    }
 
    /**
-    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_vbuitpof}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$IntRuleWidget}
+    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_nulgdlho}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$CategoryEntry}
     */
    @Environment(EnvType.CLIENT)
-   public class IntRuleWidget extends EditGameRulesScreen.NamedRuleWidget {
+   public class CategoryEntry extends EditGameRulesScreen.AbstractEntry {
       /**
-       * @mapping {@literal hashed f_rrnlapbl Lnet/minecraft/unmapped/C_ajacvfls$C_vbuitpof;f_rrnlapbl:Lnet/minecraft/unmapped/C_vopzcnhf;}
-       * @mapping {@literal named valueWidget Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$IntRuleWidget;valueWidget:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
+       * @mapping {@literal hashed f_oqcsioxt Lnet/minecraft/unmapped/C_ajacvfls$C_nulgdlho;f_oqcsioxt:Lnet/minecraft/unmapped/C_rdaqiwdt;}
+       * @mapping {@literal named title Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$CategoryEntry;title:Lnet/minecraft/text/Text;}
        */
-      private final TextFieldWidget valueWidget;
+      final Text title;
 
       /**
-       * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_vbuitpof;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/unmapped/C_xmldumst$C_tdajhqee;)V}
-       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$IntRuleWidget;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/text/Text;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/GameRules$IntRule;)V}
+       * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_nulgdlho;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Lnet/minecraft/unmapped/C_rdaqiwdt;)V}
+       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$CategoryEntry;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/text/Text;)V}
        */
-      public IntRuleWidget(Text name, List<OrderedText> description, String ruleName, GameRules.IntRule rule) {
-         super(description, name);
-         this.valueWidget = new TextFieldWidget(
-            EditGameRulesScreen.this.client.textRenderer, 10, 5, 44, 20, name.copy().append("\n").append(ruleName).append("\n")
-         );
-         this.valueWidget.setText(Integer.toString(rule.get()));
-         this.valueWidget.setChangedListener(value -> {
-            if (rule.validate(value)) {
-               this.valueWidget.setEditableColor(14737632);
-               EditGameRulesScreen.this.markValid(this);
-            } else {
-               this.valueWidget.setEditableColor(16711680);
-               EditGameRulesScreen.this.markInvalid(this);
-            }
-         });
-         this.children.add(this.valueWidget);
+      public CategoryEntry(Text title) {
+         super(null);
+         this.title = title;
       }
 
       /**
@@ -244,37 +231,7 @@
       public void render(
          GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta
       ) {
-         this.drawName(graphics, y, x);
-         this.valueWidget.setX(x + entryWidth - 45);
-         this.valueWidget.setY(y);
-         this.valueWidget.render(graphics, mouseX, mouseY, tickDelta);
-      }
-   }
-
-   /**
-    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_lppnmpti}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$NamedRuleWidget}
-    */
-   @Environment(EnvType.CLIENT)
-   public abstract class NamedRuleWidget extends EditGameRulesScreen.AbstractRuleWidget {
-      /**
-       * @mapping {@literal hashed f_ggwwaclx Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;f_ggwwaclx:Ljava/util/List;}
-       * @mapping {@literal named name Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$NamedRuleWidget;name:Ljava/util/List;}
-       */
-      private final List<OrderedText> name;
-      /**
-       * @mapping {@literal hashed f_nxcbmpxi Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;f_nxcbmpxi:Ljava/util/List;}
-       * @mapping {@literal named children Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$NamedRuleWidget;children:Ljava/util/List;}
-       */
-      protected final List<ClickableWidget> children = Lists.<ClickableWidget>newArrayList();
-
-      /**
-       * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Ljava/util/List;Lnet/minecraft/unmapped/C_rdaqiwdt;)V}
-       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$NamedRuleWidget;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Ljava/util/List;Lnet/minecraft/text/Text;)V}
-       */
-      public NamedRuleWidget(@Nullable List<OrderedText> description, Text name) {
-         super(description);
-         this.name = EditGameRulesScreen.this.client.textRenderer.wrapLines(name, 175);
+         graphics.drawCenteredShadowedText(EditGameRulesScreen.this.client.textRenderer, this.title, x + entryWidth / 2, y + 5, 16777215);
       }
 
       /**
@@ -282,7 +239,7 @@
        */
       @Override
       public List<? extends Element> children() {
-         return this.children;
+         return ImmutableList.of();
       }
 
       /**
@@ -290,52 +247,50 @@
        */
       @Override
       public List<? extends Selectable> selectableChildren() {
-         return this.children;
+         return ImmutableList.of(new Selectable() {
+            /**
+             * Mapping not found
+             */
+            @Override
+            public Selectable.SelectionType getType() {
+               return Selectable.SelectionType.HOVERED;
       }
 
       /**
-       * @mapping {@literal hashed m_getgtnya Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;m_getgtnya(Lnet/minecraft/unmapped/C_sedilmty;II)V}
-       * @mapping {@literal named drawName Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$NamedRuleWidget;drawName(Lnet/minecraft/client/gui/GuiGraphics;II)V}
+             * Mapping not found
        */
-      protected void drawName(GuiGraphics graphics, int x, int y) {
-         if (this.name.size() == 1) {
-            graphics.drawText(EditGameRulesScreen.this.client.textRenderer, (OrderedText)this.name.get(0), y, x + 5, 16777215, false);
-         } else if (this.name.size() >= 2) {
-            graphics.drawText(EditGameRulesScreen.this.client.textRenderer, (OrderedText)this.name.get(0), y, x, 16777215, false);
-            graphics.drawText(EditGameRulesScreen.this.client.textRenderer, (OrderedText)this.name.get(1), y, x + 10, 16777215, false);
+            @Override
+            public void appendNarrations(NarrationMessageBuilder builder) {
+               builder.put(NarrationPart.TITLE, CategoryEntry.this.title);
          }
+         });
       }
    }
 
    /**
-    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_nulgdlho}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleCategoryWidget}
+    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_lppnmpti}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntry}
     */
    @Environment(EnvType.CLIENT)
-   public class RuleCategoryWidget extends EditGameRulesScreen.AbstractRuleWidget {
+   public abstract class GameRuleEntry extends EditGameRulesScreen.AbstractEntry {
       /**
-       * @mapping {@literal hashed f_oqcsioxt Lnet/minecraft/unmapped/C_ajacvfls$C_nulgdlho;f_oqcsioxt:Lnet/minecraft/unmapped/C_rdaqiwdt;}
-       * @mapping {@literal named name Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleCategoryWidget;name:Lnet/minecraft/text/Text;}
+       * @mapping {@literal hashed f_ggwwaclx Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;f_ggwwaclx:Ljava/util/List;}
+       * @mapping {@literal named message Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntry;message:Ljava/util/List;}
        */
-      final Text name;
-
+      private final List<OrderedText> message;
       /**
-       * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_nulgdlho;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Lnet/minecraft/unmapped/C_rdaqiwdt;)V}
-       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleCategoryWidget;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/text/Text;)V}
+       * @mapping {@literal hashed f_nxcbmpxi Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;f_nxcbmpxi:Ljava/util/List;}
+       * @mapping {@literal named children Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntry;children:Ljava/util/List;}
        */
-      public RuleCategoryWidget(Text text) {
-         super(null);
-         this.name = text;
-      }
+      protected final List<ClickableWidget> children = Lists.<ClickableWidget>newArrayList();
 
       /**
-       * Mapping not found
+       * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Ljava/util/List;Lnet/minecraft/unmapped/C_rdaqiwdt;)V}
+       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntry;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Ljava/util/List;Lnet/minecraft/text/Text;)V}
        */
-      @Override
-      public void render(
-         GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta
-      ) {
-         graphics.drawCenteredShadowedText(EditGameRulesScreen.this.client.textRenderer, this.name, x + entryWidth / 2, y + 5, 16777215);
+      public GameRuleEntry(@Nullable List<OrderedText> tooltip, Text message) {
+         super(tooltip);
+         this.message = EditGameRulesScreen.this.client.textRenderer.wrapLines(message, 175);
       }
 
       /**
@@ -343,7 +298,7 @@
        */
       @Override
       public List<? extends Element> children() {
-         return ImmutableList.of();
+         return this.children;
       }
 
       /**
@@ -351,39 +306,50 @@
        */
       @Override
       public List<? extends Selectable> selectableChildren() {
-         return ImmutableList.of(new Selectable() {
-            /**
-             * Mapping not found
-             */
-            @Override
-            public Selectable.SelectionType getType() {
-               return Selectable.SelectionType.HOVERED;
+         return this.children;
             }
 
             /**
-             * Mapping not found
+       * @mapping {@literal hashed m_getgtnya Lnet/minecraft/unmapped/C_ajacvfls$C_lppnmpti;m_getgtnya(Lnet/minecraft/unmapped/C_sedilmty;II)V}
+       * @mapping {@literal named drawMessage Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntry;drawMessage(Lnet/minecraft/client/gui/GuiGraphics;II)V}
              */
-            @Override
-            public void appendNarrations(NarrationMessageBuilder builder) {
-               builder.put(NarrationPart.TITLE, RuleCategoryWidget.this.name);
+      protected void drawMessage(GuiGraphics graphics, int y, int x) {
+         if (this.message.size() == 1) {
+            graphics.drawText(EditGameRulesScreen.this.client.textRenderer, (OrderedText)this.message.get(0), x, y + 5, 16777215, false);
+         } else if (this.message.size() >= 2) {
+            graphics.drawText(EditGameRulesScreen.this.client.textRenderer, (OrderedText)this.message.get(0), x, y, 16777215, false);
+            graphics.drawText(EditGameRulesScreen.this.client.textRenderer, (OrderedText)this.message.get(1), x, y + 10, 16777215, false);
+         }
             }
-         });
       }
+
+   /**
+    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_fntallks}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryFactory}
+    */
+   @FunctionalInterface
+   @Environment(EnvType.CLIENT)
+   interface GameRuleEntryFactory<T extends GameRules.AbstractGameRule<T>> {
+      /**
+       * @mapping {@literal hashed create Lnet/minecraft/unmapped/C_ajacvfls$C_fntallks;create(Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/unmapped/C_xmldumst$C_ubszziqk;)Lnet/minecraft/unmapped/C_ajacvfls$C_vdrulthz;}
+       * @mapping {@literal named create Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryFactory;create(Lnet/minecraft/text/Text;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/GameRules$AbstractGameRule;)Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractEntry;}
+       */
+      EditGameRulesScreen.AbstractEntry create(Text message, List<OrderedText> tooltip, String description, T gameRule);
    }
 
    /**
     * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_ymfbyxcw}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleListWidget}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryListWidget}
     */
    @Environment(EnvType.CLIENT)
-   public class RuleListWidget extends ElementListWidget<EditGameRulesScreen.AbstractRuleWidget> {
+   public class GameRuleEntryListWidget extends ElementListWidget<EditGameRulesScreen.AbstractEntry> {
       /**
        * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_ymfbyxcw;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Lnet/minecraft/unmapped/C_xmldumst;)V}
-       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleListWidget;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/world/GameRules;)V}
+       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryListWidget;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/world/GameRules;)V}
        */
-      public RuleListWidget(GameRules gameRules) {
+      public GameRuleEntryListWidget(GameRules gameRules) {
          super(EditGameRulesScreen.this.client, EditGameRulesScreen.this.width, EditGameRulesScreen.this.height, 43, EditGameRulesScreen.this.height - 32, 24);
-         final Map<GameRules.Category, Map<GameRules.Key<?>, EditGameRulesScreen.AbstractRuleWidget>> map = Maps.<GameRules.Category, Map<GameRules.Key<?>, EditGameRulesScreen.AbstractRuleWidget>>newHashMap(
+         final Map<GameRules.Category, Map<GameRules.Key<?>, EditGameRulesScreen.AbstractEntry>> map = Maps.<GameRules.Category, Map<GameRules.Key<?>, EditGameRulesScreen.AbstractEntry>>newHashMap(
             
          );
          GameRules.accept(
@@ -392,9 +358,10 @@
                 * Mapping not found
                 */
                @Override
-               public void visitBoolean(GameRules.Key<GameRules.BooleanRule> key, GameRules.Type<GameRules.BooleanRule> type) {
-                  this.createRuleWidget(
-                     key, (name, description, ruleName, rule) -> EditGameRulesScreen.this.new BooleanRuleWidget(name, description, ruleName, rule)
+               public void visitBooleanGameRule(GameRules.Key<GameRules.BooleanGameRule> key, GameRules.Type<GameRules.BooleanGameRule> type) {
+                  this.createGameRuleEntry(
+                     key,
+                     (message, tooltip, description, gameRule) -> EditGameRulesScreen.this.new BooleanGameRuleEntry(message, tooltip, description, gameRule)
                   );
                }
    
@@ -402,17 +369,19 @@
                 * Mapping not found
                 */
                @Override
-               public void visitInt(GameRules.Key<GameRules.IntRule> key, GameRules.Type<GameRules.IntRule> type) {
-                  this.createRuleWidget(
-                     key, (name, description, ruleName, rule) -> EditGameRulesScreen.this.new IntRuleWidget(name, description, ruleName, rule)
+               public void visitIntGameRule(GameRules.Key<GameRules.IntGameRule> key, GameRules.Type<GameRules.IntGameRule> type) {
+                  this.createGameRuleEntry(
+                     key, (message, tooltip, description, gameRule) -> EditGameRulesScreen.this.new IntGameRuleEntry(message, tooltip, description, gameRule)
                   );
                }
    
                /**
                 * @mapping {@literal hashed m_sdzliaky Lnet/minecraft/unmapped/C_ajacvfls$C_ymfbyxcw$C_gcpwlttt;m_sdzliaky(Lnet/minecraft/unmapped/C_xmldumst$C_iuaedxxw;Lnet/minecraft/unmapped/C_ajacvfls$C_fntallks;)V}
-                * @mapping {@literal named createRuleWidget Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleListWidget$C_gcpwlttt;createRuleWidget(Lnet/minecraft/world/GameRules$Key;Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleWidgetFactory;)V}
+                * @mapping {@literal named createGameRuleEntry Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryListWidget$C_gcpwlttt;createGameRuleEntry(Lnet/minecraft/world/GameRules$Key;Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$GameRuleEntryFactory;)V}
                 */
-               private <T extends GameRules.Rule<T>> void createRuleWidget(GameRules.Key<T> key, EditGameRulesScreen.RuleWidgetFactory<T> widgetFactory) {
+               private <T extends GameRules.AbstractGameRule<T>> void createGameRuleEntry(
+                  GameRules.Key<T> key, EditGameRulesScreen.GameRuleEntryFactory<T> gameRuleEntryFactory
+               ) {
                   Text lv = Text.translatable(key.getTranslationKey());
                   Text lv2 = Text.literal(key.getName()).formatted(Formatting.YELLOW);
                   T lv3 = gameRules.get(key);
@@ -432,7 +401,7 @@
                      string3 = lv4.getString();
                   }
    
-                  ((Map)map.computeIfAbsent(key.getCategory(), category -> Maps.newHashMap())).put(key, widgetFactory.create(lv, list, string3, lv3));
+                  ((Map)map.computeIfAbsent(key.getCategory(), category -> Maps.newHashMap())).put(key, gameRuleEntryFactory.create(lv, list, string3, lv3));
                }
             }
          );
@@ -440,17 +409,17 @@
             .stream()
             .sorted(java.util.Map.Entry.comparingByKey())
             .forEach(
-               entry -> {
+               categoryMapEntry -> {
                   this.addEntry(
-                     EditGameRulesScreen.this.new RuleCategoryWidget(
-                        Text.translatable(((GameRules.Category)entry.getKey()).getCategory()).formatted(Formatting.BOLD, Formatting.YELLOW)
+                     EditGameRulesScreen.this.new CategoryEntry(
+                        Text.translatable(((GameRules.Category)categoryMapEntry.getKey()).getTranslationKey()).formatted(Formatting.BOLD, Formatting.YELLOW)
                      )
                   );
-                  ((Map)entry.getValue())
+                  ((Map)categoryMapEntry.getValue())
                      .entrySet()
                      .stream()
                      .sorted(java.util.Map.Entry.comparingByKey(Comparator.comparing(GameRules.Key::getName)))
-                     .forEach(entryx -> this.addEntry((EditGameRulesScreen.AbstractRuleWidget)entryx.getValue()));
+                     .forEach(gameRuleMapEntry -> this.addEntry((EditGameRulesScreen.AbstractEntry)gameRuleMapEntry.getValue()));
                }
             );
       }
@@ -461,24 +430,58 @@
       @Override
       public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) {
          super.render(graphics, mouseX, mouseY, delta);
-         EditGameRulesScreen.AbstractRuleWidget lv = this.getHoveredEntry();
-         if (lv != null && lv.description != null) {
-            EditGameRulesScreen.this.setDeferredTooltip(lv.description);
+         EditGameRulesScreen.AbstractEntry lv = this.getHoveredEntry();
+         if (lv != null && lv.tooltip != null) {
+            EditGameRulesScreen.this.setDeferredTooltip(lv.tooltip);
          }
       }
    }
 
    /**
-    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_fntallks}
-    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleWidgetFactory}
+    * @mapping {@literal hashed net/minecraft/unmapped/C_ajacvfls$C_vbuitpof}
+    * @mapping {@literal named net/minecraft/client/gui/screen/world/EditGameRulesScreen$IntGameRuleEntry}
     */
-   @FunctionalInterface
    @Environment(EnvType.CLIENT)
-   interface RuleWidgetFactory<T extends GameRules.Rule<T>> {
+   public class IntGameRuleEntry extends EditGameRulesScreen.GameRuleEntry {
       /**
-       * @mapping {@literal hashed create Lnet/minecraft/unmapped/C_ajacvfls$C_fntallks;create(Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/unmapped/C_xmldumst$C_ubszziqk;)Lnet/minecraft/unmapped/C_ajacvfls$C_vdrulthz;}
-       * @mapping {@literal named create Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$RuleWidgetFactory;create(Lnet/minecraft/text/Text;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/GameRules$Rule;)Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$AbstractRuleWidget;}
+       * @mapping {@literal hashed f_rrnlapbl Lnet/minecraft/unmapped/C_ajacvfls$C_vbuitpof;f_rrnlapbl:Lnet/minecraft/unmapped/C_vopzcnhf;}
+       * @mapping {@literal named valueField Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$IntGameRuleEntry;valueField:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
+       */
+      private final TextFieldWidget valueField;
+
+      /**
+       * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_ajacvfls$C_vbuitpof;<init>(Lnet/minecraft/unmapped/C_ajacvfls;Lnet/minecraft/unmapped/C_rdaqiwdt;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/unmapped/C_xmldumst$C_tdajhqee;)V}
+       * @mapping {@literal named <init> Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen$IntGameRuleEntry;<init>(Lnet/minecraft/client/gui/screen/world/EditGameRulesScreen;Lnet/minecraft/text/Text;Ljava/util/List;Ljava/lang/String;Lnet/minecraft/world/GameRules$IntGameRule;)V}
+       */
+      public IntGameRuleEntry(Text message, List<OrderedText> tooltip, String description, GameRules.IntGameRule gameRule) {
+         super(tooltip, message);
+         this.valueField = new TextFieldWidget(
+            EditGameRulesScreen.this.client.textRenderer, 10, 5, 44, 20, message.copy().append("\n").append(description).append("\n")
+         );
+         this.valueField.setText(Integer.toString(gameRule.getValue()));
+         this.valueField.setChangedListener(value -> {
+            if (gameRule.validate(value)) {
+               this.valueField.setEditableColor(14737632);
+               EditGameRulesScreen.this.markValid(this);
+            } else {
+               this.valueField.setEditableColor(16711680);
+               EditGameRulesScreen.this.markInvalid(this);
+            }
+         });
+         this.children.add(this.valueField);
+      }
+
+      /**
+       * Mapping not found
        */
-      EditGameRulesScreen.AbstractRuleWidget create(Text name, List<OrderedText> description, String ruleName, T rule);
+      @Override
+      public void render(
+         GuiGraphics graphics, int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean hovered, float tickDelta
+      ) {
+         this.drawMessage(graphics, y, x);
+         this.valueField.setX(x + entryWidth - 45);
+         this.valueField.setY(y);
+         this.valueField.render(graphics, mouseX, mouseY, tickDelta);
+      }
    }
 }
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/world/EditWorldScreen.java namedSrc/net/minecraft/client/gui/screen/world/EditWorldScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/world/EditWorldScreen.java	2023-09-12 12:58:23.352177433 +0000
+++ namedSrc/net/minecraft/client/gui/screen/world/EditWorldScreen.java	2023-09-12 12:56:52.992086691 +0000
@@ -40,9 +40,9 @@
    private static final Logger LOGGER = LogUtils.getLogger();
    /**
     * @mapping {@literal hashed f_ubtnfmpx Lnet/minecraft/unmapped/C_lzpmzhhp;f_ubtnfmpx:Lnet/minecraft/unmapped/C_rdaqiwdt;}
-    * @mapping {@literal named ENTER_NAME Lnet/minecraft/client/gui/screen/world/EditWorldScreen;ENTER_NAME:Lnet/minecraft/text/Text;}
+    * @mapping {@literal named ENTER_WORLD_NAME Lnet/minecraft/client/gui/screen/world/EditWorldScreen;ENTER_WORLD_NAME:Lnet/minecraft/text/Text;}
     */
-   private static final Text ENTER_NAME = Text.translatable("selectWorld.enterName");
+   private static final Text ENTER_WORLD_NAME = Text.translatable("selectWorld.enterName");
    /**
     * @mapping {@literal hashed f_pdqdfkrs Lnet/minecraft/unmapped/C_lzpmzhhp;f_pdqdfkrs:Lnet/minecraft/unmapped/C_buwziidm;}
     * @mapping {@literal named saveButton Lnet/minecraft/client/gui/screen/world/EditWorldScreen;saveButton:Lnet/minecraft/client/gui/widget/ButtonWidget;}
@@ -55,9 +55,9 @@
    private final BooleanConsumer callback;
    /**
     * @mapping {@literal hashed f_sdxisgdc Lnet/minecraft/unmapped/C_lzpmzhhp;f_sdxisgdc:Lnet/minecraft/unmapped/C_vopzcnhf;}
-    * @mapping {@literal named levelNameTextField Lnet/minecraft/client/gui/screen/world/EditWorldScreen;levelNameTextField:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
+    * @mapping {@literal named worldNameField Lnet/minecraft/client/gui/screen/world/EditWorldScreen;worldNameField:Lnet/minecraft/client/gui/widget/TextFieldWidget;}
     */
-   private TextFieldWidget levelNameTextField;
+   private TextFieldWidget worldNameField;
    /**
     * @mapping {@literal hashed f_lfvsjayl Lnet/minecraft/unmapped/C_lzpmzhhp;f_lfvsjayl:Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;}
     * @mapping {@literal named storageSession Lnet/minecraft/client/gui/screen/world/EditWorldScreen;storageSession:Lnet/minecraft/world/storage/WorldSaveStorage$Session;}
@@ -79,15 +79,15 @@
     */
    @Override
    protected void init() {
-      this.saveButton = ButtonWidget.builder(Text.translatable("selectWorld.edit.save"), arg -> this.commit())
+      this.saveButton = ButtonWidget.builder(Text.translatable("selectWorld.edit.save"), button -> this.commit())
          .positionAndSize(this.width / 2 - 100, this.height / 4 + 144 + 5, 98, 20)
          .build();
-      this.levelNameTextField = new TextFieldWidget(this.textRenderer, this.width / 2 - 100, 38, 200, 20, Text.translatable("selectWorld.enterName"));
+      this.worldNameField = new TextFieldWidget(this.textRenderer, this.width / 2 - 100, 38, 200, 20, Text.translatable("selectWorld.enterName"));
       WorldSaveSummary lv = this.storageSession.getWorldSaveSummary();
       String string = lv == null ? "" : lv.getDisplayName();
-      this.levelNameTextField.setText(string);
-      this.levelNameTextField.setChangedListener(stringx -> this.saveButton.active = !Util.isBlank(stringx));
-      this.addSelectableChild(this.levelNameTextField);
+      this.worldNameField.setText(string);
+      this.worldNameField.setChangedListener(name -> this.saveButton.active = !Util.isBlank(name));
+      this.addSelectableChild(this.worldNameField);
       ButtonWidget lv2 = this.addDrawableChild(ButtonWidget.builder(Text.translatable("selectWorld.edit.resetIcon"), button -> {
          this.storageSession.getIconFile().ifPresent(path -> FileUtils.deleteQuietly(path.toFile()));
          button.active = false;
@@ -100,8 +100,8 @@
             .positionAndSize(this.width / 2 - 100, this.height / 4 + 24 + 5, 200, 20)
             .build()
       );
-      this.addDrawableChild(ButtonWidget.builder(Text.translatable("selectWorld.edit.backup"), arg -> {
-         boolean bl = backupLevel(this.storageSession);
+      this.addDrawableChild(ButtonWidget.builder(Text.translatable("selectWorld.edit.backup"), button -> {
+         boolean bl = backupWorld(this.storageSession);
          this.callback.accept(!bl);
       }).positionAndSize(this.width / 2 - 100, this.height / 4 + 48 + 5, 200, 20).build());
       this.addDrawableChild(ButtonWidget.builder(Text.translatable("selectWorld.edit.backupFolder"), button -> {
@@ -117,24 +117,26 @@
          Util.getOperatingSystem().open(path.toFile());
       }).positionAndSize(this.width / 2 - 100, this.height / 4 + 72 + 5, 200, 20).build());
       this.addDrawableChild(
-         ButtonWidget.builder(Text.translatable("selectWorld.edit.optimize"), arg -> this.client.setScreen(new BackupPromptScreen(this, (bl, bl2) -> {
-                  if (bl) {
-                     backupLevel(this.storageSession);
+         ButtonWidget.builder(
+               Text.translatable("selectWorld.edit.optimize"), button -> this.client.setScreen(new BackupPromptScreen(this, (backup, eraseCache) -> {
+                     if (backup) {
+                        backupWorld(this.storageSession);
                   }
       
-                  this.client.setScreen(OptimizeWorldScreen.create(this.client, this.callback, this.client.getDataFixer(), this.storageSession, bl2));
-               }, Text.translatable("optimizeWorld.confirm.title"), Text.translatable("optimizeWorld.confirm.description"), true)))
+                     this.client.setScreen(OptimizeWorldScreen.create(this.client, this.callback, this.client.getDataFixer(), this.storageSession, eraseCache));
+                  }, Text.translatable("optimizeWorld.confirm.title"), Text.translatable("optimizeWorld.confirm.description"), true))
+            )
             .positionAndSize(this.width / 2 - 100, this.height / 4 + 96 + 5, 200, 20)
             .build()
       );
       this.addDrawableChild(this.saveButton);
       this.addDrawableChild(
-         ButtonWidget.builder(CommonTexts.CANCEL, arg -> this.callback.accept(false))
+         ButtonWidget.builder(CommonTexts.CANCEL, button -> this.callback.accept(false))
             .positionAndSize(this.width / 2 + 2, this.height / 4 + 144 + 5, 98, 20)
             .build()
       );
       lv2.active = this.storageSession.getIconFile().filter(path -> Files.isRegularFile(path, new LinkOption[0])).isPresent();
-      this.setInitialFocus(this.levelNameTextField);
+      this.setInitialFocus(this.worldNameField);
    }
 
    /**
@@ -142,9 +144,9 @@
     */
    @Override
    public void resize(MinecraftClient client, int width, int height) {
-      String string = this.levelNameTextField.getText();
+      String string = this.worldNameField.getText();
       this.init(client, width, height);
-      this.levelNameTextField.setText(string);
+      this.worldNameField.setText(string);
    }
 
    /**
@@ -161,7 +163,7 @@
     */
    private void commit() {
       try {
-         this.storageSession.save(this.levelNameTextField.getText().trim());
+         this.storageSession.save(this.worldNameField.getText().trim());
          this.callback.accept(true);
       } catch (IOException var2) {
          LOGGER.error("Failed to access world '{}'", this.storageSession.getDirectoryName(), var2);
@@ -174,29 +176,29 @@
     * @mapping {@literal hashed m_lmijghmn Lnet/minecraft/unmapped/C_lzpmzhhp;m_lmijghmn(Lnet/minecraft/unmapped/C_bpwagnit;Ljava/lang/String;)V}
     * @mapping {@literal named onBackupConfirm Lnet/minecraft/client/gui/screen/world/EditWorldScreen;onBackupConfirm(Lnet/minecraft/world/storage/WorldSaveStorage;Ljava/lang/String;)V}
     */
-   public static void onBackupConfirm(WorldSaveStorage storage, String levelName) {
+   public static void onBackupConfirm(WorldSaveStorage storage, String worldName) {
       boolean bl = false;
 
-      try (WorldSaveStorage.Session lv = storage.createSession(levelName)) {
+      try (WorldSaveStorage.Session lv = storage.createSession(worldName)) {
          bl = true;
-         backupLevel(lv);
+         backupWorld(lv);
       } catch (IOException var8) {
          if (!bl) {
-            SystemToast.addWorldAccessFailureToast(MinecraftClient.getInstance(), levelName);
+            SystemToast.addWorldAccessFailureToast(MinecraftClient.getInstance(), worldName);
          }
 
-         LOGGER.warn("Failed to create backup of level {}", levelName, var8);
+         LOGGER.warn("Failed to create backup of level {}", worldName, var8);
       } catch (InvalidSymlinkException var9) {
          LOGGER.warn("{}", var9.getMessage());
-         SystemToast.addWorldAccessFailureToast(MinecraftClient.getInstance(), levelName);
+         SystemToast.addWorldAccessFailureToast(MinecraftClient.getInstance(), worldName);
       }
    }
 
    /**
     * @mapping {@literal hashed m_kneqjlhc Lnet/minecraft/unmapped/C_lzpmzhhp;m_kneqjlhc(Lnet/minecraft/unmapped/C_bpwagnit$C_unecclfw;)Z}
-    * @mapping {@literal named backupLevel Lnet/minecraft/client/gui/screen/world/EditWorldScreen;backupLevel(Lnet/minecraft/world/storage/WorldSaveStorage$Session;)Z}
+    * @mapping {@literal named backupWorld Lnet/minecraft/client/gui/screen/world/EditWorldScreen;backupWorld(Lnet/minecraft/world/storage/WorldSaveStorage$Session;)Z}
     */
-   public static boolean backupLevel(WorldSaveStorage.Session storageSession) {
+   public static boolean backupWorld(WorldSaveStorage.Session storageSession) {
       long l = 0L;
       IOException iOException = null;
 
@@ -226,7 +228,7 @@
    public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) {
       super.render(graphics, mouseX, mouseY, delta);
       graphics.drawCenteredShadowedText(this.textRenderer, this.title, this.width / 2, 15, 16777215);
-      graphics.drawShadowedText(this.textRenderer, ENTER_NAME, this.width / 2 - 100 + 1, 24, 10526880);
-      this.levelNameTextField.render(graphics, mouseX, mouseY, delta);
+      graphics.drawShadowedText(this.textRenderer, ENTER_WORLD_NAME, this.width / 2 - 100 + 1, 24, 10526880);
+      this.worldNameField.render(graphics, mouseX, mouseY, delta);
    }
 }
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/world/ExperimentsScreen.java namedSrc/net/minecraft/client/gui/screen/world/ExperimentsScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/world/ExperimentsScreen.java	2023-09-12 12:58:23.216177289 +0000
+++ namedSrc/net/minecraft/client/gui/screen/world/ExperimentsScreen.java	2023-09-12 12:56:52.844086576 +0000
@@ -84,8 +84,8 @@
    @Override
    protected void init() {
       this.headerFooterWidget.addToHeader(new TextWidget(Text.translatable("selectWorld.experiments"), this.textRenderer));
-      LinearLayoutWidget lv = this.headerFooterWidget.addToContents(LinearLayoutWidget.m_rmmqhibe());
-      lv.m_xxgekkap(
+      LinearLayoutWidget lv = this.headerFooterWidget.addToContents(LinearLayoutWidget.createVertical());
+      lv.add(
          new MultilineTextWidget(Text.translatable("selectWorld.experiments.info").formatted(Formatting.RED), this.textRenderer).setMaxWidth(310),
          arg -> arg.setBottomPadding(15)
       );
@@ -95,7 +95,7 @@
             (arg2, arg3) -> lv2.button(getExperimentName(arg2), () -> this.packs.getBoolean(arg2), enabled -> this.packs.put(arg2, enabled.booleanValue()))
                   .info(arg2.getDescription())
          );
-      lv2.build(lv::addChild);
+      lv2.build(lv::add);
       GridWidget.AdditionHelper lv3 = this.headerFooterWidget.addToFooter(new GridWidget().setColumnSpacing(10)).createAdditionHelper(2);
       lv3.add(ButtonWidget.builder(CommonTexts.DONE, button -> this.completeSelection()).build());
       lv3.add(ButtonWidget.builder(CommonTexts.CANCEL, arg -> this.closeScreen()).build());
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/world/OptimizeWorldScreen.java namedSrc/net/minecraft/client/gui/screen/world/OptimizeWorldScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/world/OptimizeWorldScreen.java	2023-09-12 12:58:23.260177336 +0000
+++ namedSrc/net/minecraft/client/gui/screen/world/OptimizeWorldScreen.java	2023-09-12 12:56:52.896086616 +0000
@@ -94,7 +94,7 @@
    private OptimizeWorldScreen(
       BooleanConsumer callback, DataFixer dataFixer, WorldSaveStorage.Session arg, WorldInfo arg2, boolean bl, Registry<DimensionOptions> registry
    ) {
-      super(Text.translatable("optimizeWorld.title", arg2.getLevelName()));
+      super(Text.translatable("optimizeWorld.title", arg2.getName()));
       this.callback = callback;
       this.updater = new WorldUpdater(arg, dataFixer, registry, bl);
    }
diff -bur namedTargetSrc/net/minecraft/client/gui/screen/world/SelectWorldScreen.java namedSrc/net/minecraft/client/gui/screen/world/SelectWorldScreen.java
--- namedTargetSrc/net/minecraft/client/gui/screen/world/SelectWorldScreen.java	2023-09-12 12:58:23.216177289 +0000
+++ namedSrc/net/minecraft/client/gui/screen/world/SelectWorldScreen.java	2023-09-12 12:56:52.844086576 +0000
@@ -60,9 +60,9 @@
    protected TextFieldWidget searchBox;
    /**
     * @mapping {@literal hashed f_ptrrkyoc Lnet/minecraft/unmapped/C_yrypplpi;f_ptrrkyoc:Lnet/minecraft/unmapped/C_wwgrvynj;}
-    * @mapping {@literal named levelList Lnet/minecraft/client/gui/screen/world/SelectWorldScreen;levelList:Lnet/minecraft/client/gui/screen/world/WorldListWidget;}
+    * @mapping {@literal named worldEntryList Lnet/minecraft/client/gui/screen/world/SelectWorldScreen;worldEntryList:Lnet/minecraft/client/gui/screen/world/WorldEntryListWidget;}
     */
-   private WorldListWidget levelList;
+   private WorldEntryListWidget worldEntryList;
 
    /**
     * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_yrypplpi;<init>(Lnet/minecraft/unmapped/C_wrmtlwqx;)V}
@@ -79,12 +79,16 @@
    @Override
    protected void init() {
       this.searchBox = new TextFieldWidget(this.textRenderer, this.width / 2 - 100, 22, 200, 20, this.searchBox, Text.translatable("selectWorld.search"));
-      this.searchBox.setChangedListener(query -> this.levelList.filter(query));
-      this.levelList = new WorldListWidget(this, this.client, this.width, this.height, 48, this.height - 64, 36, this.searchBox.getText(), this.levelList);
+      this.searchBox.setChangedListener(query -> this.worldEntryList.filter(query));
+      this.worldEntryList = new WorldEntryListWidget(
+         this, this.client, this.width, this.height, 48, this.height - 64, 36, this.searchBox.getText(), this.worldEntryList
+      );
       this.addSelectableChild(this.searchBox);
-      this.addSelectableChild(this.levelList);
+      this.addSelectableChild(this.worldEntryList);
       this.selectButton = this.addDrawableChild(
-         ButtonWidget.builder(Text.translatable("selectWorld.select"), button -> this.levelList.getSelectedAsOptional().ifPresent(WorldListWidget.Entry::play))
+         ButtonWidget.builder(
+               Text.translatable("selectWorld.select"), button -> this.worldEntryList.getSelectedAsOptional().ifPresent(WorldEntryListWidget.WorldEntry::play)
+            )
             .positionAndSize(this.width / 2 - 154, this.height - 52, 150, 20)
             .build()
       );
@@ -94,20 +98,24 @@
             .build()
       );
       this.editButton = this.addDrawableChild(
-         ButtonWidget.builder(Text.translatable("selectWorld.edit"), button -> this.levelList.getSelectedAsOptional().ifPresent(WorldListWidget.Entry::edit))
+         ButtonWidget.builder(
+               Text.translatable("selectWorld.edit"), button -> this.worldEntryList.getSelectedAsOptional().ifPresent(WorldEntryListWidget.WorldEntry::edit)
+            )
             .positionAndSize(this.width / 2 - 154, this.height - 28, 72, 20)
             .build()
       );
       this.deleteButton = this.addDrawableChild(
          ButtonWidget.builder(
-               Text.translatable("selectWorld.delete"), button -> this.levelList.getSelectedAsOptional().ifPresent(WorldListWidget.Entry::deleteIfConfirmed)
+               Text.translatable("selectWorld.delete"),
+               button -> this.worldEntryList.getSelectedAsOptional().ifPresent(WorldEntryListWidget.WorldEntry::deleteIfConfirmed)
             )
             .positionAndSize(this.width / 2 - 76, this.height - 28, 72, 20)
             .build()
       );
       this.recreateButton = this.addDrawableChild(
          ButtonWidget.builder(
-               Text.translatable("selectWorld.recreate"), button -> this.levelList.getSelectedAsOptional().ifPresent(WorldListWidget.Entry::recreate)
+               Text.translatable("selectWorld.recreate"),
+               button -> this.worldEntryList.getSelectedAsOptional().ifPresent(WorldEntryListWidget.WorldEntry::recreate)
             )
             .positionAndSize(this.width / 2 + 4, this.height - 28, 72, 20)
             .build()
@@ -117,7 +125,7 @@
             .positionAndSize(this.width / 2 + 82, this.height - 28, 72, 20)
             .build()
       );
-      this.worldSelected(false, false);
+      this.updateButtonActivationStates(false, false);
       this.setInitialFocus(this.searchBox);
    }
 
@@ -151,16 +159,16 @@
    @Override
    public void render(GuiGraphics graphics, int mouseX, int mouseY, float delta) {
       super.render(graphics, mouseX, mouseY, delta);
-      this.levelList.render(graphics, mouseX, mouseY, delta);
+      this.worldEntryList.render(graphics, mouseX, mouseY, delta);
       this.searchBox.render(graphics, mouseX, mouseY, delta);
       graphics.drawCenteredShadowedText(this.textRenderer, this.title, this.width / 2, 8, 16777215);
    }
 
    /**
     * @mapping {@literal hashed m_rkjktgal Lnet/minecraft/unmapped/C_yrypplpi;m_rkjktgal(ZZ)V}
-    * @mapping {@literal named worldSelected Lnet/minecraft/client/gui/screen/world/SelectWorldScreen;worldSelected(ZZ)V}
+    * @mapping {@literal named updateButtonActivationStates Lnet/minecraft/client/gui/screen/world/SelectWorldScreen;updateButtonActivationStates(ZZ)V}
     */
-   public void worldSelected(boolean active, boolean deleteButtonActive) {
+   public void updateButtonActivationStates(boolean active, boolean deleteButtonActive) {
       this.selectButton.active = active;
       this.editButton.active = active;
       this.recreateButton.active = active;
@@ -172,8 +180,8 @@
     */
    @Override
    public void removed() {
-      if (this.levelList != null) {
-         this.levelList.children().forEach(WorldListWidget.AbstractWorldEntry::close);
+      if (this.worldEntryList != null) {
+         this.worldEntryList.children().forEach(WorldEntryListWidget.AbstractEntry::close);
       }
    }
 }
Only in namedSrc/net/minecraft/client/gui/screen/world: WorldEntryListWidget.java
Only in namedTargetSrc/net/minecraft/client/gui/screen/world: WorldListWidget.java
Only in namedTargetSrc/net/minecraft/client/gui/widget: AccessibilityOnboardingButtonWidgets.java
diff -bur namedTargetSrc/net/minecraft/client/gui/widget/ButtonWidget.java namedSrc/net/minecraft/client/gui/widget/ButtonWidget.java
--- namedTargetSrc/net/minecraft/client/gui/widget/ButtonWidget.java	2023-09-12 12:58:23.320177399 +0000
+++ namedSrc/net/minecraft/client/gui/widget/ButtonWidget.java	2023-09-12 12:56:52.960086666 +0000
@@ -34,7 +34,7 @@
     * @mapping {@literal hashed f_cvdgtuwy Lnet/minecraft/unmapped/C_buwziidm;f_cvdgtuwy:Lnet/minecraft/unmapped/C_buwziidm$C_gkkecayh;}
     * @mapping {@literal named DEFAULT_NARRATION Lnet/minecraft/client/gui/widget/ButtonWidget;DEFAULT_NARRATION:Lnet/minecraft/client/gui/widget/ButtonWidget$NarrationFactory;}
     */
-   protected static final ButtonWidget.NarrationFactory DEFAULT_NARRATION = supplier -> (MutableText)supplier.get();
+   protected static final ButtonWidget.NarrationFactory DEFAULT_NARRATION = textSupplier -> (MutableText)textSupplier.get();
    /**
     * @mapping {@literal hashed f_hirmxmcw Lnet/minecraft/unmapped/C_buwziidm;f_hirmxmcw:Lnet/minecraft/unmapped/C_buwziidm$C_zlxjklbn;}
     * @mapping {@literal named onPress Lnet/minecraft/client/gui/widget/ButtonWidget;onPress:Lnet/minecraft/client/gui/widget/ButtonWidget$PressAction;}
Only in namedSrc/net/minecraft/client/gui/widget: factory
diff -bur namedTargetSrc/net/minecraft/client/gui/widget/GridWidget.java namedSrc/net/minecraft/client/gui/widget/GridWidget.java
--- namedTargetSrc/net/minecraft/client/gui/widget/GridWidget.java	2023-09-12 12:58:23.224177297 +0000
+++ namedSrc/net/minecraft/client/gui/widget/GridWidget.java	2023-09-12 12:56:52.856086585 +0000
@@ -144,10 +144,11 @@
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_xjobxgbf Lnet/minecraft/unmapped/C_qykucwmu;m_xjobxgbf(Lnet/minecraft/unmapped/C_dpukplka;IILjava/util/function/Consumer;)Lnet/minecraft/unmapped/C_dpukplka;}
+    * @mapping {@literal named add Lnet/minecraft/client/gui/widget/GridWidget;add(Lnet/minecraft/client/gui/widget/Widget;IILjava/util/function/Consumer;)Lnet/minecraft/client/gui/widget/Widget;}
     */
-   public <T extends Widget> T m_xjobxgbf(T arg, int i, int j, Consumer<LayoutSettings> consumer) {
-      return this.add(arg, i, j, 1, 1, Util.make(this.copyDefaultSettings(), consumer));
+   public <T extends Widget> T add(T widget, int row, int column, Consumer<LayoutSettings> initializer) {
+      return this.add(widget, row, column, 1, 1, Util.make(this.copyDefaultSettings(), initializer));
    }
 
    /**
@@ -175,10 +176,11 @@
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_orbvhrog Lnet/minecraft/unmapped/C_qykucwmu;m_orbvhrog(Lnet/minecraft/unmapped/C_dpukplka;IIIILjava/util/function/Consumer;)Lnet/minecraft/unmapped/C_dpukplka;}
+    * @mapping {@literal named add Lnet/minecraft/client/gui/widget/GridWidget;add(Lnet/minecraft/client/gui/widget/Widget;IIIILjava/util/function/Consumer;)Lnet/minecraft/client/gui/widget/Widget;}
     */
-   public <T extends Widget> T m_orbvhrog(T arg, int i, int j, int k, int l, Consumer<LayoutSettings> consumer) {
-      return this.add(arg, i, j, k, l, Util.make(this.copyDefaultSettings(), consumer));
+   public <T extends Widget> T add(T widget, int row, int column, int occupiedRows, int occupiedColumns, Consumer<LayoutSettings> initializer) {
+      return this.add(widget, row, column, occupiedRows, occupiedColumns, Util.make(this.copyDefaultSettings(), initializer));
    }
 
    /**

@github-actions
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

View the diff here (3/3):
diff -bur namedTargetSrc/net/minecraft/client/gui/widget/LinearLayoutWidget.java namedSrc/net/minecraft/client/gui/widget/LinearLayoutWidget.java
--- namedTargetSrc/net/minecraft/client/gui/widget/LinearLayoutWidget.java	2023-09-12 12:58:23.276177353 +0000
+++ namedSrc/net/minecraft/client/gui/widget/LinearLayoutWidget.java	2023-09-12 12:56:52.908086625 +0000
@@ -13,24 +13,27 @@
 @Environment(EnvType.CLIENT)
 public class LinearLayoutWidget implements LayoutWidget {
    /**
-    * Mapping not found
+    * @mapping {@literal hashed f_fsqrbsam Lnet/minecraft/unmapped/C_crjxgxtz;f_fsqrbsam:Lnet/minecraft/unmapped/C_qykucwmu;}
+    * @mapping {@literal named grid Lnet/minecraft/client/gui/widget/LinearLayoutWidget;grid:Lnet/minecraft/client/gui/widget/GridWidget;}
     */
-   private final GridWidget f_fsqrbsam;
+   private final GridWidget grid;
    /**
     * @mapping {@literal hashed f_apusilag Lnet/minecraft/unmapped/C_crjxgxtz;f_apusilag:Lnet/minecraft/unmapped/C_crjxgxtz$C_npsawfoe;}
     * @mapping {@literal named orientation Lnet/minecraft/client/gui/widget/LinearLayoutWidget;orientation:Lnet/minecraft/client/gui/widget/LinearLayoutWidget$Orientation;}
     */
    private final LinearLayoutWidget.Orientation orientation;
    /**
-    * Mapping not found
+    * @mapping {@literal hashed f_okjdxujf Lnet/minecraft/unmapped/C_crjxgxtz;f_okjdxujf:I}
+    * @mapping {@literal named childCount Lnet/minecraft/client/gui/widget/LinearLayoutWidget;childCount:I}
     */
-   private int f_okjdxujf = 0;
+   private int childCount = 0;
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed <init> Lnet/minecraft/unmapped/C_crjxgxtz;<init>(Lnet/minecraft/unmapped/C_crjxgxtz$C_npsawfoe;)V}
+    * @mapping {@literal named <init> Lnet/minecraft/client/gui/widget/LinearLayoutWidget;<init>(Lnet/minecraft/client/gui/widget/LinearLayoutWidget$Orientation;)V}
     */
-   private LinearLayoutWidget(LinearLayoutWidget.Orientation arg) {
-      this(0, 0, arg);
+   private LinearLayoutWidget(LinearLayoutWidget.Orientation orientation) {
+      this(0, 0, orientation);
    }
 
    /**
@@ -38,53 +41,57 @@
     * @mapping {@literal named <init> Lnet/minecraft/client/gui/widget/LinearLayoutWidget;<init>(IILnet/minecraft/client/gui/widget/LinearLayoutWidget$Orientation;)V}
     */
    public LinearLayoutWidget(int width, int height, LinearLayoutWidget.Orientation orientation) {
-      this.f_fsqrbsam = new GridWidget(width, height);
+      this.grid = new GridWidget(width, height);
       this.orientation = orientation;
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_iasfvsom Lnet/minecraft/unmapped/C_crjxgxtz;m_iasfvsom(I)Lnet/minecraft/unmapped/C_crjxgxtz;}
+    * @mapping {@literal named setSpacing Lnet/minecraft/client/gui/widget/LinearLayoutWidget;setSpacing(I)Lnet/minecraft/client/gui/widget/LinearLayoutWidget;}
     */
-   public LinearLayoutWidget m_iasfvsom(int i) {
-      this.orientation.m_jmwokolb(this.f_fsqrbsam, i);
+   public LinearLayoutWidget setSpacing(int margin) {
+      this.orientation.setSpacing(this.grid, margin);
       return this;
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_dgvusqdy Lnet/minecraft/unmapped/C_crjxgxtz;m_dgvusqdy()Lnet/minecraft/unmapped/C_pjarmpvz;}
+    * @mapping {@literal named copyDefaultSettings Lnet/minecraft/client/gui/widget/LinearLayoutWidget;copyDefaultSettings()Lnet/minecraft/client/gui/widget/container/LayoutSettings;}
     */
-   public LayoutSettings m_dgvusqdy() {
-      return this.f_fsqrbsam.copyDefaultSettings();
+   public LayoutSettings copyDefaultSettings() {
+      return this.grid.copyDefaultSettings();
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_iurfbawi Lnet/minecraft/unmapped/C_crjxgxtz;m_iurfbawi()Lnet/minecraft/unmapped/C_pjarmpvz;}
+    * @mapping {@literal named getDefaultSettings Lnet/minecraft/client/gui/widget/LinearLayoutWidget;getDefaultSettings()Lnet/minecraft/client/gui/widget/container/LayoutSettings;}
     */
-   public LayoutSettings m_iurfbawi() {
-      return this.f_fsqrbsam.getDefaultSettings();
+   public LayoutSettings getDefaultSettings() {
+      return this.grid.getDefaultSettings();
    }
 
    /**
     * @mapping {@literal hashed m_yguncbmj Lnet/minecraft/unmapped/C_crjxgxtz;m_yguncbmj(Lnet/minecraft/unmapped/C_dpukplka;Lnet/minecraft/unmapped/C_pjarmpvz;)Lnet/minecraft/unmapped/C_dpukplka;}
-    * @mapping {@literal named addChild Lnet/minecraft/client/gui/widget/LinearLayoutWidget;addChild(Lnet/minecraft/client/gui/widget/Widget;Lnet/minecraft/client/gui/widget/container/LayoutSettings;)Lnet/minecraft/client/gui/widget/Widget;}
+    * @mapping {@literal named add Lnet/minecraft/client/gui/widget/LinearLayoutWidget;add(Lnet/minecraft/client/gui/widget/Widget;Lnet/minecraft/client/gui/widget/container/LayoutSettings;)Lnet/minecraft/client/gui/widget/Widget;}
     */
-   public <T extends Widget> T addChild(T widget, LayoutSettings layoutSettings) {
-      return this.orientation.m_kkvvoidy(this.f_fsqrbsam, widget, this.f_okjdxujf++, layoutSettings);
+   public <T extends Widget> T add(T widget, LayoutSettings settings) {
+      return this.orientation.addToGrid(this.grid, widget, this.childCount++, settings);
    }
 
    /**
     * @mapping {@literal hashed m_mjokehih Lnet/minecraft/unmapped/C_crjxgxtz;m_mjokehih(Lnet/minecraft/unmapped/C_dpukplka;)Lnet/minecraft/unmapped/C_dpukplka;}
-    * @mapping {@literal named addChild Lnet/minecraft/client/gui/widget/LinearLayoutWidget;addChild(Lnet/minecraft/client/gui/widget/Widget;)Lnet/minecraft/client/gui/widget/Widget;}
+    * @mapping {@literal named add Lnet/minecraft/client/gui/widget/LinearLayoutWidget;add(Lnet/minecraft/client/gui/widget/Widget;)Lnet/minecraft/client/gui/widget/Widget;}
     */
-   public <T extends Widget> T addChild(T widget) {
-      return this.addChild(widget, this.m_dgvusqdy());
+   public <T extends Widget> T add(T widget) {
+      return this.add(widget, this.copyDefaultSettings());
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_xxgekkap Lnet/minecraft/unmapped/C_crjxgxtz;m_xxgekkap(Lnet/minecraft/unmapped/C_dpukplka;Ljava/util/function/Consumer;)Lnet/minecraft/unmapped/C_dpukplka;}
+    * @mapping {@literal named add Lnet/minecraft/client/gui/widget/LinearLayoutWidget;add(Lnet/minecraft/client/gui/widget/Widget;Ljava/util/function/Consumer;)Lnet/minecraft/client/gui/widget/Widget;}
     */
-   public <T extends Widget> T m_xxgekkap(T arg, Consumer<LayoutSettings> consumer) {
-      return this.orientation.m_kkvvoidy(this.f_fsqrbsam, arg, this.f_okjdxujf++, Util.make(this.m_dgvusqdy(), consumer));
+   public <T extends Widget> T add(T widget, Consumer<LayoutSettings> initializer) {
+      return this.orientation.addToGrid(this.grid, widget, this.childCount++, Util.make(this.copyDefaultSettings(), initializer));
    }
 
    /**
@@ -92,7 +99,7 @@
     */
    @Override
    public void visitChildren(Consumer<Widget> consumer) {
-      this.f_fsqrbsam.visitChildren(consumer);
+      this.grid.visitChildren(consumer);
    }
 
    /**
@@ -100,7 +107,7 @@
     */
    @Override
    public void arrangeElements() {
-      this.f_fsqrbsam.arrangeElements();
+      this.grid.arrangeElements();
    }
 
    /**
@@ -108,7 +115,7 @@
     */
    @Override
    public int getWidth() {
-      return this.f_fsqrbsam.getWidth();
+      return this.grid.getWidth();
    }
 
    /**
@@ -116,7 +123,7 @@
     */
    @Override
    public int getHeight() {
-      return this.f_fsqrbsam.getHeight();
+      return this.grid.getHeight();
    }
 
    /**
@@ -124,7 +131,7 @@
     */
    @Override
    public void setX(int x) {
-      this.f_fsqrbsam.setX(x);
+      this.grid.setX(x);
    }
 
    /**
@@ -132,7 +139,7 @@
     */
    @Override
    public void setY(int y) {
-      this.f_fsqrbsam.setY(y);
+      this.grid.setY(y);
    }
 
    /**
@@ -140,7 +147,7 @@
     */
    @Override
    public int getX() {
-      return this.f_fsqrbsam.getX();
+      return this.grid.getX();
    }
 
    /**
@@ -148,20 +155,22 @@
     */
    @Override
    public int getY() {
-      return this.f_fsqrbsam.getY();
+      return this.grid.getY();
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_rmmqhibe Lnet/minecraft/unmapped/C_crjxgxtz;m_rmmqhibe()Lnet/minecraft/unmapped/C_crjxgxtz;}
+    * @mapping {@literal named createVertical Lnet/minecraft/client/gui/widget/LinearLayoutWidget;createVertical()Lnet/minecraft/client/gui/widget/LinearLayoutWidget;}
     */
-   public static LinearLayoutWidget m_rmmqhibe() {
+   public static LinearLayoutWidget createVertical() {
       return new LinearLayoutWidget(LinearLayoutWidget.Orientation.VERTICAL);
    }
 
    /**
-    * Mapping not found
+    * @mapping {@literal hashed m_luqawmpr Lnet/minecraft/unmapped/C_crjxgxtz;m_luqawmpr()Lnet/minecraft/unmapped/C_crjxgxtz;}
+    * @mapping {@literal named createHorizontal Lnet/minecraft/client/gui/widget/LinearLayoutWidget;createHorizontal()Lnet/minecraft/client/gui/widget/LinearLayoutWidget;}
     */
-   public static LinearLayoutWidget m_luqawmpr() {
+   public static LinearLayoutWidget createHorizontal() {
       return new LinearLayoutWidget(LinearLayoutWidget.Orientation.HORIZONTAL);
    }
 
@@ -183,25 +192,30 @@
       VERTICAL;
 
       /**
-       * Mapping not found
+       * @mapping {@literal hashed m_jmwokolb Lnet/minecraft/unmapped/C_crjxgxtz$C_npsawfoe;m_jmwokolb(Lnet/minecraft/unmapped/C_qykucwmu;I)V}
+       * @mapping {@literal named setSpacing Lnet/minecraft/client/gui/widget/LinearLayoutWidget$Orientation;setSpacing(Lnet/minecraft/client/gui/widget/GridWidget;I)V}
        */
-      void m_jmwokolb(GridWidget arg, int i) {
+      void setSpacing(GridWidget grid, int margin) {
          switch (this) {
             case HORIZONTAL:
-               arg.setColumnSpacing(i);
+               grid.setColumnSpacing(margin);
                break;
             case VERTICAL:
-               arg.setRowSpacing(i);
+               grid.setRowSpacing(margin);
          }
       }
 
       /**
-       * Mapping not found
+       * Adds the given {@code widget} to the given {@code grid} at the column or row, depending on whether the orientation is
+       * {@link Orientation#HORIZONTAL} or {@link Orientation#VERTICAL}, specified by {@code index} with the given {@code settings}.
+       * 
+       * @mapping {@literal hashed m_kkvvoidy Lnet/minecraft/unmapped/C_crjxgxtz$C_npsawfoe;m_kkvvoidy(Lnet/minecraft/unmapped/C_qykucwmu;Lnet/minecraft/unmapped/C_dpukplka;ILnet/minecraft/unmapped/C_pjarmpvz;)Lnet/minecraft/unmapped/C_dpukplka;}
+       * @mapping {@literal named addToGrid Lnet/minecraft/client/gui/widget/LinearLayoutWidget$Orientation;addToGrid(Lnet/minecraft/client/gui/widget/GridWidget;Lnet/minecraft/client/gui/widget/Widget;ILnet/minecraft/client/gui/widget/container/LayoutSettings;)Lnet/minecraft/client/gui/widget/Widget;}
        */
-      public <T extends Widget> T m_kkvvoidy(GridWidget arg, T arg2, int i, LayoutSettings arg3) {
+      public <T extends Widget> T addToGrid(GridWidget grid, T widget, int index, LayoutSettings settings) {
          return (T)(switch (this) {
-            case HORIZONTAL -> arg.add(arg2, 0, i, arg3);
-            case VERTICAL -> arg.add(arg2, i, 0, arg3);
+            case HORIZONTAL -> grid.add(widget, 0, index, settings);
+            case VERTICAL -> grid.add(widget, index, 0, settings);
          });
       }
    }
diff -bur namedTargetSrc/net/minecraft/client/gui/widget/TelemetryEventWidget.java namedSrc/net/minecraft/client/gui/widget/TelemetryEventWidget.java
--- namedTargetSrc/net/minecraft/client/gui/widget/TelemetryEventWidget.java	2023-09-12 12:58:23.216177289 +0000
+++ namedSrc/net/minecraft/client/gui/widget/TelemetryEventWidget.java	2023-09-12 12:56:52.848086579 +0000
@@ -225,9 +225,9 @@
        */
       public ContentBuilder(int width) {
          this.width = width;
-         this.f_hjklfyxp = LinearLayoutWidget.m_rmmqhibe();
-         this.f_hjklfyxp.m_iurfbawi().alignHorizontallyLeft();
-         this.f_hjklfyxp.addChild(SpacerWidget.withWidth(width));
+         this.f_hjklfyxp = LinearLayoutWidget.createVertical();
+         this.f_hjklfyxp.getDefaultSettings().alignHorizontallyLeft();
+         this.f_hjklfyxp.add(SpacerWidget.withWidth(width));
       }
 
       /**
@@ -243,7 +243,7 @@
        * @mapping {@literal named appendLine Lnet/minecraft/client/gui/widget/TelemetryEventWidget$ContentBuilder;appendLine(Lnet/minecraft/client/font/TextRenderer;Lnet/minecraft/text/Text;I)V}
        */
       public void appendLine(TextRenderer renderer, Text text, int bottomPadding) {
-         this.f_hjklfyxp.m_xxgekkap(new MultilineTextWidget(text, renderer).setMaxWidth(this.width), arg -> arg.setBottomPadding(bottomPadding));
+         this.f_hjklfyxp.add(new MultilineTextWidget(text, renderer).setMaxWidth(this.width), arg -> arg.setBottomPadding(bottomPadding));
          this.narration.append(text).append("\n");
       }
 
@@ -253,7 +253,7 @@
        */
       public void appendHeader(TextRenderer renderer, Text text) {
          this.f_hjklfyxp
-            .m_xxgekkap(
+            .add(
                new MultilineTextWidget(text, renderer).setMaxWidth(this.width - 64).setCentered(true),
                arg -> arg.alignHorizontallyCenter().setHorizontalPadding(32)
             );
@@ -265,7 +265,7 @@
        * @mapping {@literal named appendSpacer Lnet/minecraft/client/gui/widget/TelemetryEventWidget$ContentBuilder;appendSpacer(I)V}
        */
       public void appendSpacer(int height) {
-         this.f_hjklfyxp.addChild(SpacerWidget.withHeight(height));
+         this.f_hjklfyxp.add(SpacerWidget.withHeight(height));
       }
 
       /**
diff -bur namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsCreateRealmScreen.java namedSrc/net/minecraft/client/realms/gui/screen/RealmsCreateRealmScreen.java
--- namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsCreateRealmScreen.java	2023-09-12 12:58:23.220177293 +0000
+++ namedSrc/net/minecraft/client/realms/gui/screen/RealmsCreateRealmScreen.java	2023-09-12 12:56:52.852086582 +0000
@@ -7,11 +7,11 @@
 import net.minecraft.client.gui.widget.LinearLayoutWidget;
 import net.minecraft.client.gui.widget.TextFieldWidget;
 import net.minecraft.client.gui.widget.TextWidget;
+import net.minecraft.client.gui.widget.factory.LayoutWidgetFactories;
 import net.minecraft.client.realms.dto.RealmsServer;
 import net.minecraft.client.realms.task.WorldCreationTask;
 import net.minecraft.text.CommonTexts;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_vjsalahs;
 import net.minecraft.util.Util;
 
 /**
@@ -79,17 +79,17 @@
    @Override
    public void init() {
       this.f_tnijmqui.addToHeader(new TextWidget(this.title, this.textRenderer));
-      LinearLayoutWidget lv = this.f_tnijmqui.addToContents(LinearLayoutWidget.m_rmmqhibe()).m_iasfvsom(10);
+      LinearLayoutWidget lv = this.f_tnijmqui.addToContents(LinearLayoutWidget.createVertical()).setSpacing(10);
       ButtonWidget lv2 = ButtonWidget.builder(Text.translatable("mco.create.world"), button -> this.createWorld()).build();
       lv2.active = false;
       this.nameBox = new TextFieldWidget(this.textRenderer, 210, 20, Text.translatable("mco.configure.world.name"));
       this.nameBox.setChangedListener(string -> lv2.active = !Util.isBlank(string));
       this.descriptionBox = new TextFieldWidget(this.textRenderer, 210, 20, Text.translatable("mco.configure.world.description"));
-      lv.addChild(C_vjsalahs.m_amzuwyks(this.textRenderer, this.nameBox, WORLD_NAME));
-      lv.addChild(C_vjsalahs.m_amzuwyks(this.textRenderer, this.descriptionBox, WORLD_DESCRIPTION));
-      LinearLayoutWidget lv3 = this.f_tnijmqui.addToFooter(LinearLayoutWidget.m_luqawmpr().m_iasfvsom(10));
-      lv3.addChild(lv2);
-      lv3.addChild(ButtonWidget.builder(CommonTexts.CANCEL, arg -> this.closeScreen()).build());
+      lv.add(LayoutWidgetFactories.createWithTitledRow(this.textRenderer, this.nameBox, WORLD_NAME));
+      lv.add(LayoutWidgetFactories.createWithTitledRow(this.textRenderer, this.descriptionBox, WORLD_DESCRIPTION));
+      LinearLayoutWidget lv3 = this.f_tnijmqui.addToFooter(LinearLayoutWidget.createHorizontal().setSpacing(10));
+      lv3.add(lv2);
+      lv3.add(ButtonWidget.builder(CommonTexts.CANCEL, arg -> this.closeScreen()).build());
       this.f_tnijmqui.visitWidgets(arg2 -> {
       });
       this.repositionElements();
diff -bur namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsLongRunningMcoTaskScreen.java namedSrc/net/minecraft/client/realms/gui/screen/RealmsLongRunningMcoTaskScreen.java
--- namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsLongRunningMcoTaskScreen.java	2023-09-12 12:58:23.344177425 +0000
+++ namedSrc/net/minecraft/client/realms/gui/screen/RealmsLongRunningMcoTaskScreen.java	2023-09-12 12:56:52.988086687 +0000
@@ -53,7 +53,7 @@
    /**
     * Mapping not found
     */
-   private final LinearLayoutWidget f_nxgclotx = LinearLayoutWidget.m_rmmqhibe();
+   private final LinearLayoutWidget f_nxgclotx = LinearLayoutWidget.createVertical();
    /**
     * Mapping not found
     */
@@ -101,10 +101,10 @@
     */
    @Override
    public void init() {
-      this.f_nxgclotx.m_iurfbawi().alignHorizontallyCenter();
+      this.f_nxgclotx.getDefaultSettings().alignHorizontallyCenter();
       this.f_auxvizzq = new C_xtfxlfeh(this.textRenderer, this.title);
-      this.f_nxgclotx.m_xxgekkap(this.f_auxvizzq, arg -> arg.setBottomPadding(30));
-      this.f_nxgclotx.addChild(ButtonWidget.builder(CommonTexts.CANCEL, arg -> this.m_ysourtgh()).build());
+      this.f_nxgclotx.add(this.f_auxvizzq, arg -> arg.setBottomPadding(30));
+      this.f_nxgclotx.add(ButtonWidget.builder(CommonTexts.CANCEL, arg -> this.m_ysourtgh()).build());
       this.f_nxgclotx.visitWidgets(arg2 -> {
       });
       this.repositionElements();
diff -bur namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsMainScreen.java namedSrc/net/minecraft/client/realms/gui/screen/RealmsMainScreen.java
--- namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsMainScreen.java	2023-09-12 12:58:23.332177412 +0000
+++ namedSrc/net/minecraft/client/realms/gui/screen/RealmsMainScreen.java	2023-09-12 12:56:52.972086675 +0000
@@ -481,15 +481,15 @@
     */
    private LayoutWidget m_irfiecbu() {
       int i = 90;
-      LinearLayoutWidget lv = LinearLayoutWidget.m_luqawmpr().m_iasfvsom(4);
-      lv.m_iurfbawi().alignVerticallyCenter();
-      lv.addChild(this.pendingInvitesButton);
-      lv.addChild(this.newsButton);
-      LinearLayoutWidget lv2 = LinearLayoutWidget.m_luqawmpr();
-      lv2.m_iurfbawi().alignVerticallyCenter();
-      lv2.addChild(SpacerWidget.withWidth(90));
-      lv2.m_xxgekkap(TexturedWidget.m_plgdqxcx(128, 34, REALMS, 128, 64), LayoutSettings::alignHorizontallyCenter);
-      lv2.addChild(new FrameWidget(90, 44)).m_egicmaok(lv, LayoutSettings::alignHorizontallyRight);
+      LinearLayoutWidget lv = LinearLayoutWidget.createHorizontal().setSpacing(4);
+      lv.getDefaultSettings().alignVerticallyCenter();
+      lv.add(this.pendingInvitesButton);
+      lv.add(this.newsButton);
+      LinearLayoutWidget lv2 = LinearLayoutWidget.createHorizontal();
+      lv2.getDefaultSettings().alignVerticallyCenter();
+      lv2.add(SpacerWidget.withWidth(90));
+      lv2.add(TexturedWidget.m_plgdqxcx(128, 34, REALMS, 128, 64), LayoutSettings::alignHorizontallyCenter);
+      lv2.add(new FrameWidget(90, 44)).m_egicmaok(lv, LayoutSettings::alignHorizontallyRight);
       return lv2;
    }
 
@@ -515,11 +515,11 @@
     * Mapping not found
     */
    private LinearLayoutWidget m_byigiajp() {
-      LinearLayoutWidget lv = LinearLayoutWidget.m_rmmqhibe().m_iasfvsom(10);
-      lv.m_iurfbawi().alignHorizontallyCenter();
-      lv.addChild(TexturedWidget.m_plgdqxcx(130, 64, f_ydhsfxmv, 130, 64));
+      LinearLayoutWidget lv = LinearLayoutWidget.createVertical().setSpacing(10);
+      lv.getDefaultSettings().alignHorizontallyCenter();
+      lv.add(TexturedWidget.m_plgdqxcx(130, 64, f_ydhsfxmv, 130, 64));
       C_rugqjeey lv2 = new C_rugqjeey(308, f_lwnbwnwd, this.textRenderer, false);
-      lv.addChild(lv2);
+      lv.add(lv2);
       return lv;
    }
 
diff -bur namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsResetNormalWorldScreen.java namedSrc/net/minecraft/client/realms/gui/screen/RealmsResetNormalWorldScreen.java
--- namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsResetNormalWorldScreen.java	2023-09-12 12:58:23.232177306 +0000
+++ namedSrc/net/minecraft/client/realms/gui/screen/RealmsResetNormalWorldScreen.java	2023-09-12 12:56:52.864086591 +0000
@@ -9,9 +9,9 @@
 import net.minecraft.client.gui.widget.LinearLayoutWidget;
 import net.minecraft.client.gui.widget.TextFieldWidget;
 import net.minecraft.client.gui.widget.TextWidget;
+import net.minecraft.client.gui.widget.factory.LayoutWidgetFactories;
 import net.minecraft.text.CommonTexts;
 import net.minecraft.text.Text;
-import net.minecraft.unmapped.C_vjsalahs;
 
 /**
  * @mapping {@literal hashed net/minecraft/unmapped/C_tfdxyltg}
@@ -85,21 +85,21 @@
       this.seedEdit.setMaxLength(32);
       this.setInitialFocus(this.seedEdit);
       this.f_anmfmmmd.addToHeader(new TextWidget(this.title, this.textRenderer));
-      LinearLayoutWidget lv = this.f_anmfmmmd.addToContents(LinearLayoutWidget.m_rmmqhibe()).m_iasfvsom(10);
-      lv.addChild(C_vjsalahs.m_amzuwyks(this.textRenderer, this.seedEdit, RESET_SEED));
-      lv.addChild(
+      LinearLayoutWidget lv = this.f_anmfmmmd.addToContents(LinearLayoutWidget.createVertical()).setSpacing(10);
+      lv.add(LayoutWidgetFactories.createWithTitledRow(this.textRenderer, this.seedEdit, RESET_SEED));
+      lv.add(
          CyclingButtonWidget.<RealmsWorldGeneratorType>builder(RealmsWorldGeneratorType::getText)
             .values(RealmsWorldGeneratorType.values())
             .initially(this.generatorType)
             .build(0, 0, 210, 20, Text.translatable("selectWorld.mapType"), (arg, arg2) -> this.generatorType = arg2)
       );
-      lv.addChild(
+      lv.add(
          CyclingButtonWidget.onOffBuilder(this.mapFeatures)
             .build(0, 0, 210, 20, Text.translatable("selectWorld.mapFeatures"), (button, arg2) -> this.mapFeatures = arg2)
       );
-      LinearLayoutWidget lv2 = this.f_anmfmmmd.addToFooter(LinearLayoutWidget.m_luqawmpr().m_iasfvsom(10));
-      lv2.addChild(ButtonWidget.builder(this.parentTitle, arg -> this.callback.accept(this.m_lriloyqi())).build());
-      lv2.addChild(ButtonWidget.builder(CommonTexts.BACK, button -> this.closeScreen()).build());
+      LinearLayoutWidget lv2 = this.f_anmfmmmd.addToFooter(LinearLayoutWidget.createHorizontal().setSpacing(10));
+      lv2.add(ButtonWidget.builder(this.parentTitle, arg -> this.callback.accept(this.m_lriloyqi())).build());
+      lv2.add(ButtonWidget.builder(CommonTexts.BACK, button -> this.closeScreen()).build());
       this.f_anmfmmmd.visitWidgets(arg2 -> {
       });
       this.repositionElements();
diff -bur namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsResetWorldScreen.java namedSrc/net/minecraft/client/realms/gui/screen/RealmsResetWorldScreen.java
--- namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsResetWorldScreen.java	2023-09-12 12:58:23.228177302 +0000
+++ namedSrc/net/minecraft/client/realms/gui/screen/RealmsResetWorldScreen.java	2023-09-12 12:56:52.860086588 +0000
@@ -221,10 +221,10 @@
     */
    @Override
    public void init() {
-      LinearLayoutWidget lv = LinearLayoutWidget.m_rmmqhibe();
-      lv.m_xxgekkap(new TextWidget(this.title, this.textRenderer), LayoutSettings::alignHorizontallyCenter);
-      lv.addChild(SpacerWidget.withHeight(3));
-      lv.m_xxgekkap(new TextWidget(this.subtitle, this.textRenderer).setTextColor(this.subtitleColor), LayoutSettings::alignHorizontallyCenter);
+      LinearLayoutWidget lv = LinearLayoutWidget.createVertical();
+      lv.add(new TextWidget(this.title, this.textRenderer), LayoutSettings::alignHorizontallyCenter);
+      lv.add(SpacerWidget.withHeight(3));
+      lv.add(new TextWidget(this.subtitle, this.textRenderer).setTextColor(this.subtitleColor), LayoutSettings::alignHorizontallyCenter);
       this.f_jymkebek.addToHeader(lv);
       (new Thread("Realms-reset-world-fetcher") {
          /**
diff -bur namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsSelectWorldTemplateScreen.java namedSrc/net/minecraft/client/realms/gui/screen/RealmsSelectWorldTemplateScreen.java
--- namedTargetSrc/net/minecraft/client/realms/gui/screen/RealmsSelectWorldTemplateScreen.java	2023-09-12 12:58:23.288177365 +0000
+++ namedSrc/net/minecraft/client/realms/gui/screen/RealmsSelectWorldTemplateScreen.java	2023-09-12 12:56:52.928086641 +0000
@@ -173,12 +173,12 @@
       this.f_xcffhkun.addToHeader(new TextWidget(this.title, this.textRenderer));
       this.templateList = new RealmsSelectWorldTemplateScreen.WorldTemplateObjectSelectionList(this.templateList.getValues());
       this.addDrawableChild(this.templateList);
-      LinearLayoutWidget lv = this.f_xcffhkun.addToFooter(LinearLayoutWidget.m_luqawmpr().m_iasfvsom(10));
-      lv.m_iurfbawi().alignHorizontallyCenter();
-      this.trailerButton = lv.addChild(ButtonWidget.builder(f_bqkebdfv, button -> this.onTrailer()).width(100).build());
-      this.selectButton = lv.addChild(ButtonWidget.builder(f_qnwiozww, button -> this.selectTemplate()).width(100).build());
-      lv.addChild(ButtonWidget.builder(CommonTexts.CANCEL, button -> this.closeScreen()).width(100).build());
-      this.publisherButton = lv.addChild(ButtonWidget.builder(f_arbucoli, button -> this.onPublish()).width(100).build());
+      LinearLayoutWidget lv = this.f_xcffhkun.addToFooter(LinearLayoutWidget.createHorizontal().setSpacing(10));
+      lv.getDefaultSettings().alignHorizontallyCenter();
+      this.trailerButton = lv.add(ButtonWidget.builder(f_bqkebdfv, button -> this.onTrailer()).width(100).build());
+      this.selectButton = lv.add(ButtonWidget.builder(f_qnwiozww, button -> this.selectTemplate()).width(100).build());
+      lv.add(ButtonWidget.builder(CommonTexts.CANCEL, button -> this.closeScreen()).width(100).build());
+      this.publisherButton = lv.add(ButtonWidget.builder(f_arbucoli, button -> this.onPublish()).width(100).build());
       this.updateButtonStates();
       this.f_xcffhkun.visitWidgets(arg2 -> {
       });
diff -bur namedTargetSrc/net/minecraft/client/world/ClientWorld.java namedSrc/net/minecraft/client/world/ClientWorld.java
--- namedTargetSrc/net/minecraft/client/world/ClientWorld.java	2023-09-12 12:58:23.320177399 +0000
+++ namedSrc/net/minecraft/client/world/ClientWorld.java	2023-09-12 12:56:52.960086666 +0000
@@ -361,7 +361,7 @@
     */
    private void tickTime() {
       this.setTime(this.properties.getTime() + 1L);
-      if (this.properties.getGameRules().getBoolean(GameRules.DO_DAYLIGHT_CYCLE)) {
+      if (this.properties.getGameRules().getBooleanValue(GameRules.DO_DAYLIGHT_CYCLE)) {
          this.setTimeOfDay(this.properties.getTimeOfDay() + 1L);
       }
    }
@@ -381,9 +381,9 @@
    public void setTimeOfDay(long timeOfDay) {
       if (timeOfDay < 0L) {
          timeOfDay = -timeOfDay;
-         this.getGameRules().get(GameRules.DO_DAYLIGHT_CYCLE).set(false, null);
+         this.getGameRules().get(GameRules.DO_DAYLIGHT_CYCLE).setValue(false, null);
       } else {
-         this.getGameRules().get(GameRules.DO_DAYLIGHT_CYCLE).set(true, null);
+         this.getGameRules().get(GameRules.DO_DAYLIGHT_CYCLE).setValue(true, null);
       }
 
       this.clientWorldProperties.setTimeOfDay(timeOfDay);
diff -bur namedTargetSrc/net/minecraft/entity/ai/brain/task/DefeatTargetTask.java namedSrc/net/minecraft/entity/ai/brain/task/DefeatTargetTask.java
--- namedTargetSrc/net/minecraft/entity/ai/brain/task/DefeatTargetTask.java	2023-09-12 12:58:23.344177425 +0000
+++ namedSrc/net/minecraft/entity/ai/brain/task/DefeatTargetTask.java	2023-09-12 12:56:52.988086687 +0000
@@ -33,7 +33,7 @@
                         }
       
                         arg4.m_zjdztcmb(lv.getBlockPos(), (long)i);
-                        if (lv.getType() != EntityType.PLAYER || world.getGameRules().getBoolean(GameRules.FORGIVE_DEAD_PLAYERS)) {
+                        if (lv.getType() != EntityType.PLAYER || world.getGameRules().getBooleanValue(GameRules.FORGIVE_DEAD_PLAYERS)) {
                            arg2.m_gfsxfard();
                            arg3.m_gfsxfard();
                         }
diff -bur namedTargetSrc/net/minecraft/entity/ai/brain/task/FarmerVillagerTask.java namedSrc/net/minecraft/entity/ai/brain/task/FarmerVillagerTask.java
--- namedTargetSrc/net/minecraft/entity/ai/brain/task/FarmerVillagerTask.java	2023-09-12 12:58:23.368177450 +0000
+++ namedSrc/net/minecraft/entity/ai/brain/task/FarmerVillagerTask.java	2023-09-12 12:56:53.012086706 +0000
@@ -84,7 +84,7 @@
     * @mapping {@literal named shouldRun Lnet/minecraft/entity/ai/brain/task/FarmerVillagerTask;shouldRun(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/entity/passive/VillagerEntity;)Z}
     */
    protected boolean shouldRun(ServerWorld arg, VillagerEntity arg2) {
-      if (!arg.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+      if (!arg.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
          return false;
       } else if (arg2.getVillagerData().getProfession() != VillagerProfession.FARMER) {
          return false;
diff -bur namedTargetSrc/net/minecraft/entity/ai/brain/task/ForgetAngryAtTargetTask.java namedSrc/net/minecraft/entity/ai/brain/task/ForgetAngryAtTargetTask.java
--- namedTargetSrc/net/minecraft/entity/ai/brain/task/ForgetAngryAtTargetTask.java	2023-09-12 12:58:23.360177442 +0000
+++ namedSrc/net/minecraft/entity/ai/brain/task/ForgetAngryAtTargetTask.java	2023-09-12 12:56:53.000086697 +0000
@@ -24,7 +24,7 @@
                         Optional.ofNullable(world.getEntity(arg.m_gcuzwcid(arg2)))
                            .map(argxxx -> argxxx instanceof LivingEntity lv ? lv : null)
                            .filter(LivingEntity::isDead)
-                           .filter(arg2xx -> arg2xx.getType() != EntityType.PLAYER || world.getGameRules().getBoolean(GameRules.FORGIVE_DEAD_PLAYERS))
+                           .filter(arg2xx -> arg2xx.getType() != EntityType.PLAYER || world.getGameRules().getBooleanValue(GameRules.FORGIVE_DEAD_PLAYERS))
                            .ifPresent(arg2xx -> arg2.m_gfsxfard());
                         return true;
                      }
diff -bur namedTargetSrc/net/minecraft/entity/ai/goal/BreakDoorGoal.java namedSrc/net/minecraft/entity/ai/goal/BreakDoorGoal.java
--- namedTargetSrc/net/minecraft/entity/ai/goal/BreakDoorGoal.java	2023-09-12 12:58:23.356177438 +0000
+++ namedSrc/net/minecraft/entity/ai/goal/BreakDoorGoal.java	2023-09-12 12:56:52.996086694 +0000
@@ -71,7 +71,7 @@
    public boolean canStart() {
       if (!super.canStart()) {
          return false;
-      } else if (!this.mob.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+      } else if (!this.mob.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
          return false;
       } else {
          return this.isDifficultySufficient(this.mob.getWorld().getDifficulty()) && !this.isDoorOpen();
diff -bur namedTargetSrc/net/minecraft/entity/ai/goal/EatGrassGoal.java namedSrc/net/minecraft/entity/ai/goal/EatGrassGoal.java
--- namedTargetSrc/net/minecraft/entity/ai/goal/EatGrassGoal.java	2023-09-12 12:58:23.316177395 +0000
+++ namedSrc/net/minecraft/entity/ai/goal/EatGrassGoal.java	2023-09-12 12:56:52.956086663 +0000
@@ -114,7 +114,7 @@
       if (this.timer == this.getTickCount(4)) {
          BlockPos lv = this.mob.getBlockPos();
          if (GRASS_PREDICATE.test(this.world.getBlockState(lv))) {
-            if (this.world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+            if (this.world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
                this.world.breakBlock(lv, false);
             }
 
@@ -122,7 +122,7 @@
          } else {
             BlockPos lv2 = lv.down();
             if (this.world.getBlockState(lv2).isOf(Blocks.GRASS_BLOCK)) {
-               if (this.world.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+               if (this.world.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
                   this.world.syncWorldEvent(WorldEvents.BLOCK_BROKEN, lv2, Block.getRawIdFromState(Blocks.GRASS_BLOCK.getDefaultState()));
                   this.world.setBlockState(lv2, Blocks.DIRT.getDefaultState(), Block.NOTIFY_LISTENERS);
                }
diff -bur namedTargetSrc/net/minecraft/entity/ai/goal/RevengeGoal.java namedSrc/net/minecraft/entity/ai/goal/RevengeGoal.java
--- namedTargetSrc/net/minecraft/entity/ai/goal/RevengeGoal.java	2023-09-12 12:58:23.372177455 +0000
+++ namedSrc/net/minecraft/entity/ai/goal/RevengeGoal.java	2023-09-12 12:56:53.012086706 +0000
@@ -69,7 +69,7 @@
       int i = this.mob.getLastAttackedTime();
       LivingEntity lv = this.mob.getAttacker();
       if (i != this.lastAttackedTime && lv != null) {
-         if (lv.getType() == EntityType.PLAYER && this.mob.getWorld().getGameRules().getBoolean(GameRules.UNIVERSAL_ANGER)) {
+         if (lv.getType() == EntityType.PLAYER && this.mob.getWorld().getGameRules().getBooleanValue(GameRules.UNIVERSAL_ANGER)) {
             return false;
          } else {
             for (Class<?> lv2 : this.noRevengeTypes) {
diff -bur namedTargetSrc/net/minecraft/entity/ai/goal/StepAndDestroyBlockGoal.java namedSrc/net/minecraft/entity/ai/goal/StepAndDestroyBlockGoal.java
--- namedTargetSrc/net/minecraft/entity/ai/goal/StepAndDestroyBlockGoal.java	2023-09-12 12:58:23.272177348 +0000
+++ namedSrc/net/minecraft/entity/ai/goal/StepAndDestroyBlockGoal.java	2023-09-12 12:56:52.908086625 +0000
@@ -62,7 +62,7 @@
     */
    @Override
    public boolean canStart() {
-      if (!this.stepAndDestroyMob.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+      if (!this.stepAndDestroyMob.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
          return false;
       } else if (this.cooldown > 0) {
          --this.cooldown;
diff -bur namedTargetSrc/net/minecraft/entity/ai/goal/UniversalAngerGoal.java namedSrc/net/minecraft/entity/ai/goal/UniversalAngerGoal.java
--- namedTargetSrc/net/minecraft/entity/ai/goal/UniversalAngerGoal.java	2023-09-12 12:58:23.372177455 +0000
+++ namedSrc/net/minecraft/entity/ai/goal/UniversalAngerGoal.java	2023-09-12 12:56:53.016086709 +0000
@@ -49,7 +49,7 @@
     */
    @Override
    public boolean canStart() {
-      return this.mob.getWorld().getGameRules().getBoolean(GameRules.UNIVERSAL_ANGER) && this.canStartUniversalAnger();
+      return this.mob.getWorld().getGameRules().getBooleanValue(GameRules.UNIVERSAL_ANGER) && this.canStartUniversalAnger();
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/entity/boss/dragon/EnderDragonEntity.java namedSrc/net/minecraft/entity/boss/dragon/EnderDragonEntity.java
--- namedTargetSrc/net/minecraft/entity/boss/dragon/EnderDragonEntity.java	2023-09-12 12:58:23.232177306 +0000
+++ namedSrc/net/minecraft/entity/boss/dragon/EnderDragonEntity.java	2023-09-12 12:56:52.864086591 +0000
@@ -686,7 +686,7 @@
                BlockPos lv = new BlockPos(o, p, q);
                BlockState lv2 = this.getWorld().getBlockState(lv);
                if (!lv2.isAir() && !lv2.isIn(BlockTags.DRAGON_TRANSPARENT)) {
-                  if (this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING) && !lv2.isIn(BlockTags.DRAGON_IMMUNE)) {
+                  if (this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING) && !lv2.isIn(BlockTags.DRAGON_IMMUNE)) {
                      bl2 = this.getWorld().removeBlock(lv, false) || bl2;
                   } else {
                      bl = true;
@@ -789,7 +789,7 @@
             .addParticle(ParticleTypes.EXPLOSION_EMITTER, this.getX() + (double)f, this.getY() + 2.0 + (double)g, this.getZ() + (double)h, 0.0, 0.0, 0.0);
       }
 
-      boolean bl = this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_LOOT);
+      boolean bl = this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT);
       int i = 500;
       if (this.fight != null && !this.fight.hasPreviouslyKilled()) {
          i = 12000;
diff -bur namedTargetSrc/net/minecraft/entity/boss/WitherEntity.java namedSrc/net/minecraft/entity/boss/WitherEntity.java
--- namedTargetSrc/net/minecraft/entity/boss/WitherEntity.java	2023-09-12 12:58:23.240177314 +0000
+++ namedSrc/net/minecraft/entity/boss/WitherEntity.java	2023-09-12 12:56:52.872086598 +0000
@@ -413,7 +413,7 @@
 
          if (this.blockBreakingCooldown > 0) {
             --this.blockBreakingCooldown;
-            if (this.blockBreakingCooldown == 0 && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+            if (this.blockBreakingCooldown == 0 && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
                int l = MathHelper.floor(this.getY());
                int m = MathHelper.floor(this.getX());
                int n = MathHelper.floor(this.getZ());
diff -bur namedTargetSrc/net/minecraft/entity/decoration/ItemFrameEntity.java namedSrc/net/minecraft/entity/decoration/ItemFrameEntity.java
--- namedTargetSrc/net/minecraft/entity/decoration/ItemFrameEntity.java	2023-09-12 12:58:23.256177331 +0000
+++ namedSrc/net/minecraft/entity/decoration/ItemFrameEntity.java	2023-09-12 12:56:52.888086610 +0000
@@ -324,7 +324,7 @@
       if (!this.fixed) {
          ItemStack lv = this.getHeldItemStack();
          this.setHeldItemStack(ItemStack.EMPTY);
-         if (!this.getWorld().getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) {
+         if (!this.getWorld().getGameRules().getBooleanValue(GameRules.DO_ENTITY_DROPS)) {
             if (entity == null) {
                this.removeFromFrame(lv);
             }
diff -bur namedTargetSrc/net/minecraft/entity/decoration/painting/PaintingEntity.java namedSrc/net/minecraft/entity/decoration/painting/PaintingEntity.java
--- namedTargetSrc/net/minecraft/entity/decoration/painting/PaintingEntity.java	2023-09-12 12:58:23.220177293 +0000
+++ namedSrc/net/minecraft/entity/decoration/painting/PaintingEntity.java	2023-09-12 12:56:52.852086582 +0000
@@ -224,7 +224,7 @@
     */
    @Override
    public void onBreak(@Nullable Entity entity) {
-      if (this.getWorld().getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) {
+      if (this.getWorld().getGameRules().getBooleanValue(GameRules.DO_ENTITY_DROPS)) {
          this.playSound(SoundEvents.ENTITY_PAINTING_BREAK, 1.0F, 1.0F);
          if (entity instanceof PlayerEntity lv && lv.getAbilities().creativeMode) {
             return;
diff -bur namedTargetSrc/net/minecraft/entity/Entity.java namedSrc/net/minecraft/entity/Entity.java
--- namedTargetSrc/net/minecraft/entity/Entity.java	2023-09-12 12:58:23.328177408 +0000
+++ namedSrc/net/minecraft/entity/Entity.java	2023-09-12 12:56:52.968086672 +0000
@@ -5078,7 +5078,7 @@
     */
    @Override
    public boolean shouldReceiveFeedback() {
-      return this.getWorld().getGameRules().getBoolean(GameRules.SEND_COMMAND_FEEDBACK);
+      return this.getWorld().getGameRules().getBooleanValue(GameRules.SEND_COMMAND_FEEDBACK);
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/entity/FallingBlockEntity.java namedSrc/net/minecraft/entity/FallingBlockEntity.java
--- namedTargetSrc/net/minecraft/entity/FallingBlockEntity.java	2023-09-12 12:58:23.352177433 +0000
+++ namedSrc/net/minecraft/entity/FallingBlockEntity.java	2023-09-12 12:56:52.996086694 +0000
@@ -267,14 +267,14 @@
                                  lv5.markDirty();
                               }
                            }
-                        } else if (this.dropItem && this.getWorld().getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) {
+                        } else if (this.dropItem && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_ENTITY_DROPS)) {
                            this.discard();
                            this.onDestroyedOnLanding(lv, lv2);
                            this.dropItem(lv);
                         }
                      } else {
                         this.discard();
-                        if (this.dropItem && this.getWorld().getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) {
+                        if (this.dropItem && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_ENTITY_DROPS)) {
                            this.onDestroyedOnLanding(lv, lv2);
                            this.dropItem(lv);
                         }
@@ -286,7 +286,7 @@
                }
             } else if (!this.getWorld().isClient
                && (this.timeFalling > 100 && (lv2.getY() <= this.getWorld().getBottomY() || lv2.getY() > this.getWorld().getTopY()) || this.timeFalling > 600)) {
-               if (this.dropItem && this.getWorld().getGameRules().getBoolean(GameRules.DO_ENTITY_DROPS)) {
+               if (this.dropItem && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_ENTITY_DROPS)) {
                   this.dropItem(lv);
                }
 
diff -bur namedTargetSrc/net/minecraft/entity/LightningEntity.java namedSrc/net/minecraft/entity/LightningEntity.java
--- namedTargetSrc/net/minecraft/entity/LightningEntity.java	2023-09-12 12:58:23.248177323 +0000
+++ namedSrc/net/minecraft/entity/LightningEntity.java	2023-09-12 12:56:52.884086607 +0000
@@ -245,7 +245,7 @@
     * @mapping {@literal named spawnFire Lnet/minecraft/entity/LightningEntity;spawnFire(I)V}
     */
    private void spawnFire(int spreadAttempts) {
-      if (!this.cosmetic && !this.getWorld().isClient && this.getWorld().getGameRules().getBoolean(GameRules.DO_FIRE_TICK)) {
+      if (!this.cosmetic && !this.getWorld().isClient && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_FIRE_TICK)) {
          BlockPos lv = this.getBlockPos();
          BlockState lv2 = AbstractFireBlock.getState(this.getWorld(), lv);
          if (this.getWorld().getBlockState(lv).isAir() && lv2.canPlaceAt(this.getWorld(), lv)) {
diff -bur namedTargetSrc/net/minecraft/entity/LivingEntity.java namedSrc/net/minecraft/entity/LivingEntity.java
--- namedTargetSrc/net/minecraft/entity/LivingEntity.java	2023-09-12 12:58:23.308177387 +0000
+++ namedSrc/net/minecraft/entity/LivingEntity.java	2023-09-12 12:56:52.948086656 +0000
@@ -2250,7 +2250,7 @@
       if (!this.getWorld().isClient) {
          boolean bl = false;
          if (adversary instanceof WitherEntity) {
-            if (this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+            if (this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
                BlockPos lv = this.getBlockPos();
                BlockState lv2 = Blocks.WITHER_ROSE.getDefaultState();
                if (this.getWorld().getBlockState(lv).isAir() && lv2.canPlaceAt(this.getWorld(), lv)) {
@@ -2281,7 +2281,7 @@
       }
 
       boolean bl = this.playerHitTimer > 0;
-      if (this.shouldDropLoot() && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+      if (this.shouldDropLoot() && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)) {
          this.dropLoot(source, bl);
          this.dropEquipment(source, i, bl);
       }
@@ -2310,7 +2310,10 @@
    protected void dropXp() {
       if (this.getWorld() instanceof ServerWorld
          && !this.shouldSkipDroppingExperience()
-         && (this.shouldAlwaysDropXp() || this.playerHitTimer > 0 && this.shouldDropXp() && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_LOOT))) {
+         && (
+            this.shouldAlwaysDropXp()
+               || this.playerHitTimer > 0 && this.shouldDropXp() && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)
+         )) {
          ExperienceOrbEntity.spawn((ServerWorld)this.getWorld(), this.getPos(), this.getXpToDrop());
       }
    }
@@ -4045,7 +4048,7 @@
       } else {
          List<Entity> list = this.getWorld().getOtherEntities(this, this.getBoundingBox(), EntityPredicates.canBePushedBy(this));
          if (!list.isEmpty()) {
-            int i = this.getWorld().getGameRules().getInt(GameRules.MAX_ENTITY_CRAMMING);
+            int i = this.getWorld().getGameRules().getIntValue(GameRules.MAX_ENTITY_CRAMMING);
             if (i > 0 && list.size() > i - 1 && this.random.nextInt(4) == 0) {
                int j = 0;
 
diff -bur namedTargetSrc/net/minecraft/entity/mob/Angerable.java namedSrc/net/minecraft/entity/mob/Angerable.java
--- namedTargetSrc/net/minecraft/entity/mob/Angerable.java	2023-09-12 12:58:23.276177353 +0000
+++ namedSrc/net/minecraft/entity/mob/Angerable.java	2023-09-12 12:56:52.908086625 +0000
@@ -137,7 +137,7 @@
     * @mapping {@literal named isUniversallyAngry Lnet/minecraft/entity/mob/Angerable;isUniversallyAngry(Lnet/minecraft/world/World;)Z}
     */
    default boolean isUniversallyAngry(World world) {
-      return world.getGameRules().getBoolean(GameRules.UNIVERSAL_ANGER) && this.hasAngerTime() && this.getAngryAt() == null;
+      return world.getGameRules().getBooleanValue(GameRules.UNIVERSAL_ANGER) && this.hasAngerTime() && this.getAngryAt() == null;
    }
 
    /**
@@ -153,7 +153,7 @@
     * @mapping {@literal named forgive Lnet/minecraft/entity/mob/Angerable;forgive(Lnet/minecraft/entity/player/PlayerEntity;)V}
     */
    default void forgive(PlayerEntity player) {
-      if (player.getWorld().getGameRules().getBoolean(GameRules.FORGIVE_DEAD_PLAYERS)) {
+      if (player.getWorld().getGameRules().getBooleanValue(GameRules.FORGIVE_DEAD_PLAYERS)) {
          if (player.getUuid().equals(this.getAngryAt())) {
             this.stopAnger();
          }
diff -bur namedTargetSrc/net/minecraft/entity/mob/EndermanEntity.java namedSrc/net/minecraft/entity/mob/EndermanEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/EndermanEntity.java	2023-09-12 12:58:23.224177297 +0000
+++ namedSrc/net/minecraft/entity/mob/EndermanEntity.java	2023-09-12 12:56:52.856086585 +0000
@@ -676,7 +676,7 @@
       public boolean canStart() {
          if (this.enderman.getCarriedBlock() != null) {
             return false;
-         } else if (!this.enderman.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         } else if (!this.enderman.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
             return false;
          } else {
             return this.enderman.getRandom().nextInt(toGoalTicks(20)) == 0;
@@ -733,7 +733,7 @@
       public boolean canStart() {
          if (this.enderman.getCarriedBlock() == null) {
             return false;
-         } else if (!this.enderman.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         } else if (!this.enderman.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
             return false;
          } else {
             return this.enderman.getRandom().nextInt(toGoalTicks(2000)) == 0;
diff -bur namedTargetSrc/net/minecraft/entity/mob/EvokerEntity.java namedSrc/net/minecraft/entity/mob/EvokerEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/EvokerEntity.java	2023-09-12 12:58:23.296177374 +0000
+++ namedSrc/net/minecraft/entity/mob/EvokerEntity.java	2023-09-12 12:56:52.932086644 +0000
@@ -439,7 +439,7 @@
             return false;
          } else if (EvokerEntity.this.age < this.startTime) {
             return false;
-         } else if (!EvokerEntity.this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         } else if (!EvokerEntity.this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
             return false;
          } else {
             List<SheepEntity> list = EvokerEntity.this.getWorld()
diff -bur namedTargetSrc/net/minecraft/entity/mob/MobEntity.java namedSrc/net/minecraft/entity/mob/MobEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/MobEntity.java	2023-09-12 12:58:23.292177370 +0000
+++ namedSrc/net/minecraft/entity/mob/MobEntity.java	2023-09-12 12:56:52.932086644 +0000
@@ -856,7 +856,7 @@
          && this.canPickUpLoot()
          && this.isAlive()
          && !this.dead
-         && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
          Vec3i lv = this.getItemPickupReach();
 
          for (ItemEntity lv2 : this.getWorld()
diff -bur namedTargetSrc/net/minecraft/entity/mob/PiglinBrain.java namedSrc/net/minecraft/entity/mob/PiglinBrain.java
--- namedTargetSrc/net/minecraft/entity/mob/PiglinBrain.java	2023-09-12 12:58:23.360177442 +0000
+++ namedSrc/net/minecraft/entity/mob/PiglinBrain.java	2023-09-12 12:56:53.000086697 +0000
@@ -826,7 +826,7 @@
    public static void onGuardedBlockInteracted(PlayerEntity player, boolean blockOpen) {
       List<PiglinEntity> list = player.getWorld().getNonSpectatingEntities(PiglinEntity.class, player.getBoundingBox().expand(16.0));
       list.stream().filter(PiglinBrain::hasIdleActivity).filter(piglin -> !blockOpen || LookTargetUtil.isVisibleInMemory(piglin, player)).forEach(arg2 -> {
-         if (arg2.getWorld().getGameRules().getBoolean(GameRules.UNIVERSAL_ANGER)) {
+         if (arg2.getWorld().getGameRules().getBooleanValue(GameRules.UNIVERSAL_ANGER)) {
             becomeAngryWithPlayer(arg2, player);
          } else {
             becomeAngryWith(arg2, player);
@@ -904,7 +904,7 @@
       if (!piglin.getBrain().hasActivity(Activity.AVOID)) {
          if (Sensor.testAttackableTargetPredicateIgnoreVisibility(piglin, target)) {
             if (!LookTargetUtil.isNewTargetTooFar(piglin, target, 4.0)) {
-               if (target.getType() == EntityType.PLAYER && piglin.getWorld().getGameRules().getBoolean(GameRules.UNIVERSAL_ANGER)) {
+               if (target.getType() == EntityType.PLAYER && piglin.getWorld().getGameRules().getBooleanValue(GameRules.UNIVERSAL_ANGER)) {
                   becomeAngryWithPlayer(piglin, target);
                   angerNearbyPiglins(piglin);
                } else {
@@ -1043,7 +1043,7 @@
             rememberHunting(piglin);
          }
 
-         if (target.getType() == EntityType.PLAYER && piglin.getWorld().getGameRules().getBoolean(GameRules.UNIVERSAL_ANGER)) {
+         if (target.getType() == EntityType.PLAYER && piglin.getWorld().getGameRules().getBooleanValue(GameRules.UNIVERSAL_ANGER)) {
             piglin.getBrain().remember(MemoryModuleType.UNIVERSAL_ANGER, true, 600L);
          }
       }
diff -bur namedTargetSrc/net/minecraft/entity/mob/PiglinEntity.java namedSrc/net/minecraft/entity/mob/PiglinEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/PiglinEntity.java	2023-09-12 12:58:23.320177399 +0000
+++ namedSrc/net/minecraft/entity/mob/PiglinEntity.java	2023-09-12 12:56:52.960086666 +0000
@@ -623,7 +623,7 @@
     */
    @Override
    public boolean canGather(ItemStack stack) {
-      return this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING) && this.canPickUpLoot() && PiglinBrain.canGather(this, stack);
+      return this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING) && this.canPickUpLoot() && PiglinBrain.canGather(this, stack);
    }
 
    /**
diff -bur namedTargetSrc/net/minecraft/entity/mob/RavagerEntity.java namedSrc/net/minecraft/entity/mob/RavagerEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/RavagerEntity.java	2023-09-12 12:58:23.268177344 +0000
+++ namedSrc/net/minecraft/entity/mob/RavagerEntity.java	2023-09-12 12:56:52.900086619 +0000
@@ -222,7 +222,7 @@
             this.getAttributeInstance(EntityAttributes.GENERIC_MOVEMENT_SPEED).setBaseValue(MathHelper.lerp(0.1, e, d));
          }
 
-         if (this.horizontalCollision && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         if (this.horizontalCollision && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
             boolean bl = false;
             Box lv = this.getBoundingBox().expand(0.2);
 
diff -bur namedTargetSrc/net/minecraft/entity/mob/SilverfishEntity.java namedSrc/net/minecraft/entity/mob/SilverfishEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/SilverfishEntity.java	2023-09-12 12:58:23.352177433 +0000
+++ namedSrc/net/minecraft/entity/mob/SilverfishEntity.java	2023-09-12 12:56:52.992086691 +0000
@@ -258,7 +258,7 @@
                      BlockState lv5 = lv.getBlockState(lv4);
                      Block lv6 = lv5.getBlock();
                      if (lv6 instanceof InfestedBlock) {
-                        if (lv.getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+                        if (lv.getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
                            lv.breakBlock(lv4, true, this.silverfish);
                         } else {
                            lv.setBlockState(lv4, ((InfestedBlock)lv6).toRegularState(lv.getBlockState(lv4)), Block.NOTIFY_ALL);
@@ -312,7 +312,7 @@
             return false;
          } else {
             RandomGenerator lv = this.mob.getRandom();
-            if (this.mob.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING) && lv.nextInt(toGoalTicks(10)) == 0) {
+            if (this.mob.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING) && lv.nextInt(toGoalTicks(10)) == 0) {
                this.direction = Direction.random(lv);
                BlockPos lv2 = BlockPos.create(this.mob.getX(), this.mob.getY() + 0.5, this.mob.getZ()).offset(this.direction);
                BlockState lv3 = this.mob.getWorld().getBlockState(lv2);
diff -bur namedTargetSrc/net/minecraft/entity/mob/ZombieEntity.java namedSrc/net/minecraft/entity/mob/ZombieEntity.java
--- namedTargetSrc/net/minecraft/entity/mob/ZombieEntity.java	2023-09-12 12:58:23.296177374 +0000
+++ namedSrc/net/minecraft/entity/mob/ZombieEntity.java	2023-09-12 12:56:52.936086647 +0000
@@ -436,7 +436,7 @@
          if (lv2 != null
             && this.getWorld().getDifficulty() == Difficulty.HARD
             && (double)this.random.nextFloat() < this.getAttributeValue(EntityAttributes.ZOMBIE_SPAWN_REINFORCEMENTS)
-            && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_SPAWNING)) {
+            && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_SPAWNING)) {
             int i = MathHelper.floor(this.getX());
             int j = MathHelper.floor(this.getY());
             int k = MathHelper.floor(this.getZ());
diff -bur namedTargetSrc/net/minecraft/entity/passive/AllayEntity.java namedSrc/net/minecraft/entity/passive/AllayEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/AllayEntity.java	2023-09-12 12:58:23.344177425 +0000
+++ namedSrc/net/minecraft/entity/passive/AllayEntity.java	2023-09-12 12:56:52.984086684 +0000
@@ -552,7 +552,7 @@
    public boolean canGather(ItemStack stack) {
       ItemStack lv = this.getStackInHand(Hand.MAIN_HAND);
       return !lv.isEmpty()
-         && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)
+         && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)
          && this.inventory.canInsert(stack)
          && this.m_evgblctp(lv, stack);
    }
diff -bur namedTargetSrc/net/minecraft/entity/passive/AnimalEntity.java namedSrc/net/minecraft/entity/passive/AnimalEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/AnimalEntity.java	2023-09-12 12:58:23.296177374 +0000
+++ namedSrc/net/minecraft/entity/passive/AnimalEntity.java	2023-09-12 12:56:52.936086647 +0000
@@ -334,7 +334,7 @@
       this.resetLoveTicks();
       other.resetLoveTicks();
       world.sendEntityStatus(this, EntityStatuses.ADD_BREEDING_PARTICLES);
-      if (world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+      if (world.getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)) {
          world.spawnEntity(new ExperienceOrbEntity(world, this.getX(), this.getY(), this.getZ(), this.getRandom().nextInt(7) + 1));
       }
    }
diff -bur namedTargetSrc/net/minecraft/entity/passive/FoxEntity.java namedSrc/net/minecraft/entity/passive/FoxEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/FoxEntity.java	2023-09-12 12:58:23.328177408 +0000
+++ namedSrc/net/minecraft/entity/passive/FoxEntity.java	2023-09-12 12:56:52.968086672 +0000
@@ -1770,7 +1770,7 @@
             lv2.refreshPositionAndAngles(this.animal.getX(), this.animal.getY(), this.animal.getZ(), 0.0F, 0.0F);
             lv.spawnEntityAndPassengers(lv2);
             this.world.sendEntityStatus(this.animal, EntityStatuses.ADD_BREEDING_PARTICLES);
-            if (this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+            if (this.world.getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)) {
                this.world
                   .spawnEntity(
                      new ExperienceOrbEntity(this.world, this.animal.getX(), this.animal.getY(), this.animal.getZ(), this.animal.getRandom().nextInt(7) + 1)
@@ -1928,7 +1928,7 @@
        * @mapping {@literal named pickFromTargetPos Lnet/minecraft/entity/passive/FoxEntity$PickBerriesGoal;pickFromTargetPos()V}
        */
       protected void pickFromTargetPos() {
-         if (FoxEntity.this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         if (FoxEntity.this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
             BlockState lv = FoxEntity.this.getWorld().getBlockState(this.targetPos);
             if (lv.isOf(Blocks.SWEET_BERRY_BUSH)) {
                this.pickSweetBerries(lv);
diff -bur namedTargetSrc/net/minecraft/entity/passive/PandaEntity.java namedSrc/net/minecraft/entity/passive/PandaEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/PandaEntity.java	2023-09-12 12:58:23.344177425 +0000
+++ namedSrc/net/minecraft/entity/passive/PandaEntity.java	2023-09-12 12:56:52.984086684 +0000
@@ -818,7 +818,7 @@
          }
       }
 
-      if (!this.getWorld().isClient() && this.random.nextInt(700) == 0 && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+      if (!this.getWorld().isClient() && this.random.nextInt(700) == 0 && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)) {
          this.dropItem(Items.SLIME_BALL);
       }
    }
diff -bur namedTargetSrc/net/minecraft/entity/passive/RabbitEntity.java namedSrc/net/minecraft/entity/passive/RabbitEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/RabbitEntity.java	2023-09-12 12:58:23.228177302 +0000
+++ namedSrc/net/minecraft/entity/passive/RabbitEntity.java	2023-09-12 12:56:52.860086588 +0000
@@ -646,7 +646,7 @@
       @Override
       public boolean canStart() {
          if (this.cooldown <= 0) {
-            if (!this.rabbit.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+            if (!this.rabbit.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
                return false;
             }
 
diff -bur namedTargetSrc/net/minecraft/entity/passive/SnowGolemEntity.java namedSrc/net/minecraft/entity/passive/SnowGolemEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/SnowGolemEntity.java	2023-09-12 12:58:23.256177331 +0000
+++ namedSrc/net/minecraft/entity/passive/SnowGolemEntity.java	2023-09-12 12:56:52.888086610 +0000
@@ -136,7 +136,7 @@
             this.damage(this.getDamageSources().onFire(), 1.0F);
          }
 
-         if (!this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_GRIEFING)) {
+         if (!this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_GRIEFING)) {
             return;
          }
 
diff -bur namedTargetSrc/net/minecraft/entity/passive/TameableEntity.java namedSrc/net/minecraft/entity/passive/TameableEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/TameableEntity.java	2023-09-12 12:58:23.268177344 +0000
+++ namedSrc/net/minecraft/entity/passive/TameableEntity.java	2023-09-12 12:56:52.900086619 +0000
@@ -290,7 +290,7 @@
    @Override
    public void onDeath(DamageSource source) {
       if (!this.getWorld().isClient
-         && this.getWorld().getGameRules().getBoolean(GameRules.SHOW_DEATH_MESSAGES)
+         && this.getWorld().getGameRules().getBooleanValue(GameRules.SHOW_DEATH_MESSAGES)
          && this.getOwner() instanceof ServerPlayerEntity) {
          this.getOwner().sendSystemMessage(this.getDamageTracker().getDeathMessage());
       }
diff -bur namedTargetSrc/net/minecraft/entity/passive/TurtleEntity.java namedSrc/net/minecraft/entity/passive/TurtleEntity.java
--- namedTargetSrc/net/minecraft/entity/passive/TurtleEntity.java	2023-09-12 12:58:23.340177421 +0000
+++ namedSrc/net/minecraft/entity/passive/TurtleEntity.java	2023-09-12 12:56:52.984086684 +0000
@@ -480,7 +480,7 @@
    @Override
    protected void onGrowUp() {
       super.onGrowUp();
-      if (!this.isBaby() && this.getWorld().getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+      if (!this.isBaby() && this.getWorld().getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)) {
          this.dropItem(Items.SCUTE, 1);
       }
    }
@@ -764,7 +764,7 @@
          this.animal.resetLoveTicks();
          this.mate.resetLoveTicks();
          RandomGenerator lv2 = this.animal.getRandom();
-         if (this.world.getGameRules().getBoolean(GameRules.DO_MOB_LOOT)) {
+         if (this.world.getGameRules().getBooleanValue(GameRules.DO_MOB_LOOT)) {
             this.world.spawnEntity(new ExperienceOrbEntity(this.world, this.animal.getX(), this.animal.getY(), this.animal.getZ(), lv2.nextInt(7) + 1));
          }
       }
diff -bur namedTargetSrc/net/minecraft/entity/player/HungerManager.java namedSrc/net/minecraft/entity/player/HungerManager.java
--- namedTargetSrc/net/minecraft/entity/player/HungerManager.java	2023-09-12 12:58:23.276177353 +0000
+++ namedSrc/net/minecraft/entity/player/HungerManager.java	2023-09-12 12:56:52.912086629 +0000
@@ -82,7 +82,7 @@
          }
       }
 
-      boolean bl = player.getWorld().getGameRules().getBoolean(GameRules.NATURAL_REGENERATION);
+      boolean bl = player.getWorld().getGameRules().getBooleanValue(GameRules.NATURAL_REGENERATION);
       if (bl && this.foodSaturationLevel > 0.0F && player.canFoodHeal() && this.foodLevel >= 20) {
          ++this.foodTickTimer;
          if (this.foodTickTimer >= 10) {


The remaining diff is too long!

Please sign in to comment.