![]() |
VOOZH | about |
Each level (world) has its own folder. A level folder is often identified by having a level.dat file, along with other subfolders to store the maps and regions of the level.
This is the directory structure of the .minecraft/saves folder, where the game saves the entire world data:
/random command. See Random sequence format./forceload.The level.dat file contains global information about the world such as the time of day, the singleplayer player, the level generator used, and the seed. When a world is loaded, the current level.dat is backed up to level.dat_old.
It is an NBT file with this structure:
The [NBT Compound / JSON Object] generatorOptions tag format varies depending on the generator name. It affects only the Overworld dimension. This applies to 1.15 and below.
This is the format for the Buffet world type:
minecraft:vanilla_layered.
minecraft:ocean.minecraft:checkerboard. The biome squares have sides of 2<size> (which can be < 1) chunks. If no value is entered, the code assumes 2.minecraft:fixed for unmodified worlds.minecraft:surface.This is the format for the Superflat world type:
decoration. If parameters are set, for example village(distance=9 size=1), then the compound contains this information.
This is the format for the Old Customized world type that existed before 18w06a:
This file contains a single character U+2603 โ SNOWMAN encoded (E2 98 83) in UTF8.
The process goes something like this:
Minecraft can sometimes try to hold the lock on a level even after the player has started playing a different level, and this can cause strange behavior. It is recommended to ensure that Minecraft is closed before trying to acquire a lock on a level.
Before 1.16, the lock contained a big endian 64-bit integer timestamp of when the level was last accessed since the epoch. The program, instead of writing a snowman and acquiring a lock, would monitor the file for changes, and would abort if changed.
Files in the poi folder use similar structure to region Anvil files (hence the mca extension), but the NBT content is different.
minecraft:meeting, (block minecraft:bell) which has a limit of 32. Poi entries which are not for villager interaction such as beehives, nether portals, lighting rods, etc., have a max ticket count of zero (0) and therefore always have a free_tickets of zero as well.minecraft:home, minecraft:meeting, minecraft:butcher, minecraft:armorer, etc.| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 1.14 | 19w11a | The poi folder was added to world saves and village data is moved to it. | |||||
| 1.16 | 20w14a | Timestamps are no longer written to the session.lock file. | |||||
| 1.16 | pre1 | A single character โ(E2 98 83) is now written to the session.lock file. | |||||
| 26.1 | snap6 | Restructured the entirety of the world save format : | |||||
All default dimensions are now stored in the dimensions subfolder, removed the DIM-1 and DIM1 to dimensions/minecraft/the_nether and dimensions/minecraft/the_end respectively.
| |||||||
The Overworld data has been moved to dimensions/minecraft/overworld, this includes the region, entities, and poi folders, as well as related files out of data.
| |||||||
The top level data folder is now only for data shared across dimensions instead.
| |||||||
Player storage has been moved to the players subdirectory : advancements players/advancements, playerdata -> players/data, stats -> players/stats.
| |||||||
The world resource pack (resources.zip) has been moved to the resourcepacks subdirectory.
| |||||||
| Data saved in the data folder is now namespaced,All the data is stored in a namespace subfolder in the corresponding data folder, all existing vanilla data files have been moved accordingly. | |||||||
| Command storage is now stored in namespace subfolders instead of having a namespace suffix. | |||||||
chunks.dat has been renamed to chunk_tickets.dat.
| |||||||
Data for maps is now stored in the data/minecraft/maps subfolder, map index files have been renamed to only the number.
| |||||||
idcounts.dat has been renamed to last_id.dat.
| |||||||
There is no more raids_end.dat special case, the End now uses raids.dat.
| |||||||
Structures saved by Structure Blocks have been moved from generated/namespace/structures to generated/namespace/structure.
| |||||||
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 26.1 | snap6 | Restructured level.dat format : | |||||
| The [NBT Compound / JSON Object] Player tag in level.dat has been replaced with a [Int Array] singleplayer_uuid tag, referencing the player data file to use. | |||||||
| Difficulty-related settings have been moved into a [NBT Compound / JSON Object] difficulty_settings tag. | |||||||
[Int] Difficulty is changed to [String] difficulty with theses allowed values : peaceful, easy, normal and hard, [Boolean] DifficultyLocked is renamed to [Boolean] locked.
| |||||||
Data for the Ender Dragon fight has been moved out to the data folder to dimensions/minecraft/the_end/data/minecraft/ender_dragon_fight.dat
| |||||||
Wandering Trader data has been moved out to the data folder to data/minecraft/wandering_trader.dat
| |||||||
[NBT Compound / JSON Object] CustomBossEvents has been moved to the data folder to data/minecraft/custom_boss_events.dat
| |||||||
Weather-related data has been moved to the data folder to data/minecraft/weather.dat
| |||||||
[NBT Compound / JSON Object] ScheduledEvents has been moved out to the data folder to data/minecraft/scheduled_events.dat
| |||||||
[NBT Compound / JSON Object] game_rules has been moved out to the data folder to data/minecraft/game_rules.dat
| |||||||
[NBT Compound / JSON Object] WorldGenSettings has been moved out to the data folder to data/minecraft/world_gen_settings.dat
| |||||||
[NBT Compound / JSON Object] world_clocks has been moved out to the data folder to data/minecraft/world_clocks.dat
| |||||||
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 26.1 | snap6 | Moved the weather data from level.dat to data/minecraft/weather.dat
| |||||
| [Int] clearWeatherTime has been renamed to [Int] clear_weather_time | |||||||
| [Int] rainTime has been renamed to [Int] rain_time | |||||||
| [Int] thunderTime has been renamed to [Int] thunder_time | |||||||
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 26.1 | snap6 | Moved the Wandering trader data from level.dat to data/minecraft/wandering_trader.dat
| |||||
| [Int Array] WanderingTraderId has been removed. | |||||||
| [Int] WanderingTraderSpawnChance has been renamed to [Int] spawn_chance | |||||||
| [Int] WanderingTraderSpawnDelay has been renamed to [Int] spawn_delay | |||||||
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 26.1 | snap6 | Moved the Ender Dragon Fight data from level.dat to data/minecraft/ender_dragon_fight.dat
| |||||
| [Undefined] NeedsStateScanning has been renamed to [Undefined] needs_state_scanning | |||||||
| [Boolean] DragonKilled has been renamed to [Boolean] dragon_killed | |||||||
| [Boolean] PreviouslyKilled has been renamed to [Boolean] previously_killed | |||||||
[Undefined] IsRespawning has been replaced by [Undefined] respawn_stage with theses allowed values : start, preparing_to_summon_pillars, summoning_pillars, summoning_dragon, end
| |||||||
| [Undefined] Dragon has been renamed to [Undefined] dragon_uuid | |||||||
| [NBT Compound / JSON Object] ExitPortalLocation has been renamed to [NBT Compound / JSON Object] exit_portal_location | |||||||
| [NBT List / JSON Array] Gateways has been renamed to [NBT List / JSON Array] gateways | |||||||
| Added [Undefined] respawn_time, the time that has elapsed since the current stage of the respawn sequence started. | |||||||
| Added [NBT List / JSON Array] respawn_crystals - a list of UUIDs for the end crystals used to trigger the respawn sequence. | |||||||
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 26.1 | snap6 | Moved the Scheduled Events data from level.dat to data/minecraft/scheduled_events.dat
| |||||
| [Undefined] Name has been renamed to [Undefined] id | |||||||
| [Undefined] TriggerTime has been renamed to [Undefined] trigger_time | |||||||
| [Undefined] Callback has been renamed to [Undefined] callback | |||||||
| [Undefined] Type has been renamed to [Undefined] type | |||||||
| Java Edition | |||||||
|---|---|---|---|---|---|---|---|
| 26.1 | snap6 | Moved the World Generation Settings data from level.dat to data/minecraft/world_gen_settings.dat
| |||||
| [Boolean] generate_features has been renamed to [Boolean] generate_structures | |||||||