I wonder if it's possible to find seeds/worlds just by knowing the exact location of about 1000 blocks (coordinates and literally every single detail) and some of them are super rare. Like if there's a spawner at x y z and directly next to it something else which is in combination extremely rare.
Is there a possibility to create a program which runs though seeds and looks if those blocks are at the given place?
Even if it would take years for the program to runs though 2% of the 2^48 seeds...
(in my case):
I have screenshots from an old world and I really want to get the seed...
On those you can see an extraordinary chunk glitch. There are blocks at coordinates which would never appear there, so it's an unique seed, just because of those blocks... I already recreated one of the screenshot with the exact coordinates etc.
Glitches are random, they have nothing to do with the seed, except that the seed determines what is at the position of the glitch of course.
So the glitches won't help you get the seed and the seed won't recreate the glitches.
(There is an exception, there is a glitch in the world creating functions such that certain seeds lead to repeated mineshafts (and maybe caves))
There are programs that find seeds based on the positions of things like villages and strongholds, the point of using them is that their (probable) positions can be determined by the program without having to run Minecraft.
Not sure if spawners work, I haven't heard about them being used.
You'd have to search 2^64 seeds, not 2^48, since while most world features only directly depend on the lower 48 bits due to the RNG they use the biome map does use all 64 bits and this indirectly affects the shape of terrain (that is to say, terrain will only be the same where the biome matches, as I showed in this thread). It also isn't enough to just assume that a world was created with a random seed, so it must use one of 2^48 seeds, since Java's Random does use all 64 bits when generating a random number, they just only have 2^48 possible values (even if you use a text seed the numerical equivalent will likely not be a possible output of Random.nextLong()). That said, you can use nextLong() to generate seeds as it will cycle through 2^47 possible values before repeating (after this you'll need to call nextInt() once to "shift" the internal sequence. This is because nextLong() pulls two values from the underlying RNG, so the first run will use pairs 1,2; 3,4; 5,6; etc and the second will use 2,3; 4,5; 6,7; etc).
In any case, it would be extremely time-consuming compared to checking the locations of structures (as most such searches do) since you'll need to actually generate terrain (this also goes for dungeons since where they generate depends on the terrain, and the RNG they use is affected by the placement of features placed before them; by contrast, large structures use a simple algorithm which determines what chunks they can start in and the chunk seed is set for each structure prior to calling their canSpawnHere method; you also only need to check 2^48 seeds for the initial check, which is a factor of 65536 times faster than checking all 2^64 seeds (e.g. 8 hours instead of 60 years), after which you only need to check 65536 more seeds for the correct biome layout).
Of course, chunk errors are unlikely to be reproducible by any means, even if they did occur during world generation, and to make matters worse, the direction you explore while generating chunks can affect the placement of decorations, so only the terrain itself is actually useful (caves are probably more useful than surface terrain since they will be the same for any seed with the same lower 48 bits, except where differences in near-surface terrain and water affect them, so once you find a match you only need to validate the biome map).
Hey,
here's a little question.
I wonder if it's possible to find seeds/worlds just by knowing the exact location of about 1000 blocks (coordinates and literally every single detail) and some of them are super rare. Like if there's a spawner at x y z and directly next to it something else which is in combination extremely rare.
Is there a possibility to create a program which runs though seeds and looks if those blocks are at the given place?
Even if it would take years for the program to runs though 2% of the 2^48 seeds...
(in my case):
I have screenshots from an old world and I really want to get the seed...
On those you can see an extraordinary chunk glitch. There are blocks at coordinates which would never appear there, so it's an unique seed, just because of those blocks... I already recreated one of the screenshot with the exact coordinates etc.
Thanks
Glitches are random, they have nothing to do with the seed, except that the seed determines what is at the position of the glitch of course.
So the glitches won't help you get the seed and the seed won't recreate the glitches.
(There is an exception, there is a glitch in the world creating functions such that certain seeds lead to repeated mineshafts (and maybe caves))
There are programs that find seeds based on the positions of things like villages and strongholds, the point of using them is that their (probable) positions can be determined by the program without having to run Minecraft.
Not sure if spawners work, I haven't heard about them being used.
Just testing.
You'd have to search 2^64 seeds, not 2^48, since while most world features only directly depend on the lower 48 bits due to the RNG they use the biome map does use all 64 bits and this indirectly affects the shape of terrain (that is to say, terrain will only be the same where the biome matches, as I showed in this thread). It also isn't enough to just assume that a world was created with a random seed, so it must use one of 2^48 seeds, since Java's Random does use all 64 bits when generating a random number, they just only have 2^48 possible values (even if you use a text seed the numerical equivalent will likely not be a possible output of Random.nextLong()). That said, you can use nextLong() to generate seeds as it will cycle through 2^47 possible values before repeating (after this you'll need to call nextInt() once to "shift" the internal sequence. This is because nextLong() pulls two values from the underlying RNG, so the first run will use pairs 1,2; 3,4; 5,6; etc and the second will use 2,3; 4,5; 6,7; etc).
In any case, it would be extremely time-consuming compared to checking the locations of structures (as most such searches do) since you'll need to actually generate terrain (this also goes for dungeons since where they generate depends on the terrain, and the RNG they use is affected by the placement of features placed before them; by contrast, large structures use a simple algorithm which determines what chunks they can start in and the chunk seed is set for each structure prior to calling their canSpawnHere method; you also only need to check 2^48 seeds for the initial check, which is a factor of 65536 times faster than checking all 2^64 seeds (e.g. 8 hours instead of 60 years), after which you only need to check 65536 more seeds for the correct biome layout).
Of course, chunk errors are unlikely to be reproducible by any means, even if they did occur during world generation, and to make matters worse, the direction you explore while generating chunks can affect the placement of decorations, so only the terrain itself is actually useful (caves are probably more useful than surface terrain since they will be the same for any seed with the same lower 48 bits, except where differences in near-surface terrain and water affect them, so once you find a match you only need to validate the biome map).
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
Here is someone explaining his seed "Generator", basically scanning seeds to find the perfect one for you: