Minecraft puts the data in %AppData%
, so you can just make batch files which set %AppData%
to some other location before running the game.
This is a trivial but flexible working example:
@echo off
set LAUNCHER=c:\games\minecraft\minecraft.exe
set SUPPLEMENT=.minecraft-supplemental
set APPDATA=%APPDATA%\%SUPPLEMENT%
%LAUNCHER%
This will make that launch of Minecraft keep and look for its data (including your saves and even mods) in %AppData%\.minecraft-supplemental\.minecraft\
. (The extra level of folder structure is unnecessary but harmless, and it would be hard to eliminate it without breaking the sorts of things that the %AppData%
convention was designed to avoid breaking.)
Note that this will keep everything separate -- remembered login, achievements, saves, Minecraft version, mods -- everything. As a bonus, this not only means that you can keep different versions of Minecraft installed, you can segregate different login names into their own installs with their own saves, useful for sharing a computer with other Minecraft players.
You can make multiple versions of that batch file and change the %SUPPLEMENT%
variable to keep the copies' data separate. (Yes, it's currently set to a dumb name. Customize it to taste. I suggest .minecraft-[username]
.) You can even use different Minecraft launchers by changing the %LAUNCHER%
variable, allowing different versions (or users) to use different launchers.
I understand that you have modified Minecraft so that it writes onto the USB drive, but not in the same place for each version. All you need is a symlink to make the Mac side do what you want.
First, delete the Mac side's saves
, then in a shell, run the following (based on your comment mentioning the path for Mac; adjust the path to the Windows side as needed):
cd '/Volumes/myusb/Library/Application Support/Minecraft'
ln -s '../../../whatever-the-path-is-to-the-windows-side/saves' ./saves
If I haven't got the Mac-side path right, then make sure the count of ..
s is adjusted to match. To test your symlink, run ls saves
and you should see your list of worlds.
Most applications, including Minecraft, will follow a symlink as if it is not there, so this should do the trick. (Note that when viewed by the Finder, a symlink appears identical to an alias, but an alias will not function as needed here. An alias is more like a Windows shortcut — it is not automatically traversed by file system calls.)
Best Answer
Probably the best and safest approach - with some side effects, although IMO beneficial ones - would be to use MultiMC. It's an alternative launcher that helps managing multiple instances of the game - it's especially valuable when you play modded, as you can have many conflicting modpacks, various versions in non-conflicting instances, no risk of corrupting your worlds by opening them with wrong version, plus it makes installing mods a breeze - but even if you play pure vanilla, it's still helpful, allowing you to keep worlds separate between different versions. The only actual downside is a bit of extra hassle when upgrading a world to newest version (create a new instance, manually copy the save from older to newer), but it's very helpful in a lot of other respects, and can be installed anywhere. After installing and creating the instance of game matching the version you play, from the instance menu choose 'open instance folder', pick .minecraft, saves, and move/copy your world from %appdata%/.minecraft/saves using Windows Explorer.