Chunks were made with different versions, but I wonder if there's any viable approach to figure out the seed & generating version of minecraft and store just deltas.
There are tools to find seed given some obstruct information like cacti height or bedrock patterns, and it's a problem for those trying to find a private spot on anarchy servers like 2B2T.
It was made on 2b2t, the seed is well known: -4172144997902289642. FitMC makes a video where he shows what the original spawn looked like: https://www.youtube.com/watch?v=ksS00MCQPog
2b2t has used multiple seeds over its lifetime and has long since used custom (and not released) modifications to the terrain generator. I.e. this doesn't work all too well beyond spawn.
I think "storing deltas" based on seed is largely how Minecraft saves the level already, but you could probably strip out a bunch of useless metadata to get it smaller
> I think "storing deltas" based on seed is largely how Minecraft saves the level already
This is not the case, level data is stored in full. One reason for this is that level generation is pretty slow (compare the time it takes to create a new world vs. load an existing one); another reason is that it changes between versions.
Fun fact - bedrock only saves chunks modified by the player because consoles are much more restrictive with save file size than PC. If the world gets too big, your save is effectively lost.
Java does save chunks after generation, likely due to world gen updates not seamlessly transitioning with older versions of the game and PCs not caring about save size.
My bad, I had skimmed the wiki to confirm but I did misinterpret it as only storing NBT data for user-placed blocks, regenerating the rest. It makes sense why that wouldn't work.
https://www.youtube.com/watch?v=36q4Ze0kFu8
https://github.com/DaMatrix/SaveSearcher