Minecraft – How to move the character including all its content from one world (save) to another world (save)

minecraft-java-edition

Since I'm playing with about 100+ mods and in singleplayer survival, I want to simulate Multiverse from Bukkit in my singleplayer mode this way.

I want to create multiple saves and only transfer the character and its current content to the new world/save, and after a while back to my original world.

Is that even possible?

Best Answer

Yes, but not easily.

I'll assume your Minecraft name is "NoCanDo" for convenience. You can copy the NoCanDo.dat file from the players folder inside a save to another save. This file stores all your inventory, experience, etc. You also need to copy all of the 'Level.dat' files, found in the world save.

That's the easy part. The problem is that it also stores your location and respawn (bed) location, which may be underground or a hundred blocks in the air in the world you just copied it into, and will likely result in immediate death if it's just copied straight across.

You can fix that by hand, and this is where the "not easily" part comes in. Using a tool like NBTExplorer you can open a save and view the contents of a player's .dat file and modify the data directly. Once you've copied the .dat over, open the destination save in NBTExplorer and navigate to [savename]/players/NoCanDo.dat/Pos and set the three numbers under Pos to a safe location in your new world. I ususally choose the spawn point, since that's reliably safe and I can find the exact coordinates with NBTExplorer inside the level.dat of the save. The numbers under Pos aren't labeled, so remember that they go in X, Y, Z order from top to bottom.

You can similarly change your respawn location by editing the SpawnX, SpawnY, and SpawnZ entries in a players .dat file, or you can skip that fiddling and just sleep in a bed as soon as you can.

As always, make backups!