Affects Version/s: Minecraft 1.7.10
Fix Version/s: None
The launcher's ability to allow players to select the Minecraft versions they want to play is a wonderful and relatively still recent tool for players and many love it. I sure do.
However, that kind of easy of change also happens to allow making a simple user mistake much more common: opening a world using the wrong version and ending up with a corrupted world.
Players can easily have lots of worlds using lots of different game versions that he keeps around for all kinds of reasons. For example a plyer might want to have some maps 1.6. "oceanic exploration maps with separated continents" AND also other maps with the 1.7 "pangea continent with huge lakes" maps. Or likes some of his maps vaniila lastest release, and other maps with that or that other popular mod, which require older versions of the game because they haven't been updated yet.
The exact reasons ain't important. What is important is that you can't expect the player to remember by heart which map belongs to which version, and then go along and have the game programm AUTOMATICALLY try to update a world without any warning whatsoever
when the game's currently lauched version and the world's version don't match up. Excewt in the very specific case of say upgrading from from nearly-latest 1.7.9 to now-latest 1.7.10, or something equally trivial and equivalent like that, it should come as a matter of course that a major version change - even when it is an upgrade - has good odds of causing some data damage.
We're not in 1970 anymore where computer program users HAD to be tech-savvy gurus. Best coding practices have evolved a bit since then and protecting the user from how own very simple and very obvious mistakes is a requiremen nowadayst, even in game software. Imagine if Microsoft Excel didn't merely warn users with a "#DIV/0!" in specific cells when you tried to divide by zero, but instead just went along and permanently rearranged your worksheet ! This is what Minecraft does every time you open a world with a mismatching version number.
This happens with full releases versions, so it has nothing to do with the "enable snapshot" checkbox in the launcher profile editor. Anyway, a warning should always be displayed WHERE it is needed and at the very MOMENT right before it is needed, not in some other obscure menu somewhere else entirely that you might or might have not seen weeks before.
Any program that doesn't at least warn the user at the INSTANT that he tries to open a file which obviously and very possibly will have irreversible data corruption effects from version discrepancy, is a program with a faulty UI design. You can't expect users to NEVER make that stupid mistake, in fact I am considered above-intelligence in general by others, ad yet I lost a couple worlds that way myself. Oh no, I forgot to switch the profile first, no, not again AARGH. There goes my 1.7.9 huge 6 story tall dark oak house GONE because I forgot to switch the profile to the normal one I almost always use before hitting Play. You can't expect players to remember exactly which versions goes with what world, ESPECIALLY casual players that sometimes don't even play for weeks at a time.
One easy to do mistake, one night you're a bit tired and simply FORGET to select the proper Laucher Profile, and just click Play, and then you're basically screwed: your world is now in the "wrong" version and your world can't go back without irreparable data corruption.
Asking to do backups all the time is an IT computer job requirement, NOT a gamer's "step to do before you can play". Can't expect normal people especially younger kids to have all know-how and behavorial-discipline to do that. The game should protect against the most OBVIOUS and BASIC common and way-too-easy-to-make mistake.
We're not talking deliberate stupidity here, like say if a player goes using a Notepad-like editor to "edit" core classes files directy in the %appdata% system files here. We're talking merely trying to play directly and normally and simply OPENING a save fille, using the program (Minecraft) like it is usually used, but... just having a slight distraction and forgetting a simple step in that OTHER program (the Launcher).
I'm not talking about the latest snapshot for the future 1.8 version, where dowgrading back will remove all chest content from inventories. I'm talking about having a MINIMAL amount of protection from world file corruption in the first place. Main beef is with oceanic 1.6.4 worlds that suddenly pop up continental chunks everywhere, but it can happen with every game feature that gets added or changed in later versions.
And it is so easy to fix too :
#1 - In the first place, make the world list display the world version. Maybe have a button to seect between:
"all" worlds: shows all game saves no matter the version
"this version" shows only world for the exact version
"subversions" show this version plus subversions within the same major version (i.e. version groups).
#2 - When opening a world:
IF ( worldversion != gameversion )
POPUP WINDOW: "Changing a world's version might change or remove some game features or aspects, or even corrupt your world. When in doubt, make a copy of your world first."
BUTTONS: OPEN, COPY, BACK
(ie. to properly use an application, users especially gamers should not have to go into SYSTEM data folders i.e. "%appdata%.) This is akin to if Word did not have the "Save as" directly in the File menu and instead Microsoft said "Word users should just learn to use the File Manager".
We're not talking advanced features usage here. We're talking the most basic and primary of all actions here: OPENING the damn file while expecting your world to NOT go kaput, that seems quite reasonable !