Guidefor server owners4 min read
Minecraft 26.1 rearranged the world save folder: the full old path to new path map
26.1 moved region, DIM-1, DIM1, playerdata, advancements and stats, and namespaced the data folder. Every old path mapped to its new one, and what quietly breaks if your scripts and tools still use the old ones.
What changed
Minecraft 26.1, released 24 March 2026, moved almost everything in the world save folder.
Dimensions went into a dimensions subfolder, player storage went into a players
subfolder, and the data folder became namespaced.
Nothing about this is visible in game. Your world looks identical. What changes is every
path on disk, which means every backup script, world editor, migration tool and one line
cp you have ever written against a save folder is now pointing somewhere that may not
exist.
Dimensions
The Overworld used to live at the root of the world folder, and the other two dimensions
used the old hardcoded DIM-1 and DIM1 names. All three now sit under dimensions,
namespaced like everything else in the game.
| Old path | New path |
|---|---|
region/ | dimensions/minecraft/overworld/region/ |
entities/ | dimensions/minecraft/overworld/entities/ |
poi/ | dimensions/minecraft/overworld/poi/ |
DIM-1/ | dimensions/minecraft/the_nether/ |
DIM1/ | dimensions/minecraft/the_end/ |
The top level data folder is now only for data shared across dimensions rather than also
being the Overworld's. Anything that belonged to the Overworld moved with it. Each
dimension has its own data folder now, which is why the ender dragon fight ended up at
dimensions/minecraft/the_end/data/minecraft/ender_dragon_fight.dat.
Player storage
| Old path | New path |
|---|---|
playerdata/ | players/data/ |
advancements/ | players/advancements/ |
stats/ | players/stats/ |
Note the rename in the first row. It is players/data, not players/playerdata. Two of
the three folders kept their names and one did not, and that is the single most common
thing to get wrong when writing this from memory.
The data folder is namespaced now
Everything in a data folder now sits in a namespace subfolder. Vanilla files moved into
minecraft.
| Old path | New path |
|---|---|
data/scoreboard.dat | data/minecraft/scoreboard.dat |
data/command_storage_foo.dat | data/foo/command_storage.dat |
data/map_1.dat | data/minecraft/maps/1.dat |
data/idcounts.dat | data/minecraft/maps/last_id.dat |
chunks.dat | chunk_tickets.dat |
Command storage is the interesting one. It used to encode the namespace as a filename
suffix, so a storage in namespace foo was command_storage_foo.dat. Now the namespace is
the folder and the filename is fixed. Map files lost their map_ prefix and became just
the number inside data/minecraft/maps, and idcounts.dat became last_id.dat in the
same folder. There is also no raids_end.dat special case any more, because the End now
uses raids.dat like every other dimension.
Everything else
| Old path | New path |
|---|---|
resources.zip | resourcepacks/ |
generated/<namespace>/structures/ | generated/<namespace>/structure/ |
The world resource pack is no longer a single zip at a fixed name, it is a folder. And
structures saved by structure blocks are in structure, singular, which is a one character
difference that will not throw an error, it will just find nothing.
level.dat is mostly empty now
Worth knowing if you read save files programmatically. Large parts of level.dat were
pulled out into separate files under data/minecraft/, including game_rules.dat,
weather.dat, world_gen_settings.dat, custom_boss_events.dat, scheduled_events.dat,
wandering_trader.dat and world_clocks.dat. The Player tag is gone, replaced by a
singleplayer_uuid tag pointing at the player data file to use, and difficulty moved into
a difficulty_settings tag where it is now a string rather than an integer.
So a tool that opens level.dat looking for game rules will parse the file successfully
and find nothing. That is worse than a crash.
What actually breaks
The failure mode here is quiet, not loud. Almost nothing errors.
Backup scripts that name subfolders. A script doing tar -czf backup.tar.gz world/region world/playerdata world/DIM-1 now produces an archive with none of those things in it. tar
warns about the missing paths and carries on. If your script pipes output to a log nobody
reads, you find out when you need the backup. Archive the whole world folder by name and
this problem disappears permanently.
Anything looking for DIM-1 and DIM1. Chunk trimmers, map renderers, region editors and pregenerators all commonly hardcode those two names, because they were stable for over a decade. On a 26.1 world they see an Overworld only save with no Nether and no End.
Scripts that copy player data between servers. The classic inventory transfer is cp world/playerdata/*.dat to the destination. That path no longer exists on either end.
World editors on old versions. Anything that has not been updated for 26.1 will open the
world, find no region folder at the root, and report an empty or broken world. See
world editors and NBT tools in 2026 for
which tools have kept up.
Before you upgrade
The conversion runs once, on first load, and there is no reverse. Minecraft has never supported converting a world backwards, and this release does not change that. Once 26.1 has rewritten the folder, the only route back to your old version is a backup you took first.
So, in order:
- Take a backup and verify it. Not after, not "the nightly should have it". Before. Backing up a server before an update covers what else to include, because a world without its configuration is not a restored server.
- Convert a copy first. Copy the world, let 26.1 open the copy, then check your tooling against the result before you commit the real one.
- Grep your own scripts for the old paths. Search for
region,playerdata,DIM-1,DIM1andresources.zipacross your scripts, cron jobs and plugin configs. This takes two minutes and catches almost all of it.
If you have already upgraded and did not back up, can you downgrade a 26 world? covers what salvage is still possible. It is salvage, not repair.

