19MisterX98 / SeedcrackerX

MIT License
945 stars 102 forks source link

Is there any documentation/articles anywhere on how exactly this seed cracking method works? Seems like an interesting thing to read about #209

Open obj-obj opened 1 year ago

James-P-Bennett commented 11 months ago

Here's how seed cracking typically works:

Observation: Players start by observing the landscape and structures within a particular Minecraft world. They may explore the world to find distinctive features, such as rare biomes, peculiar mountain formations, or unique village placements. These observations can provide valuable clues about the seed.

Data Collection: To crack a seed, players need to gather as much information about the world as possible. This may include coordinates of various points of interest, village types, structures, biome distribution, and more. There's a few databases floating around out there full of seeds for comparable data that narrow them down to the starting biomes and shapes.

Comparison and Analysis: Once players have collected enough data, they compare the observations to what is known about Minecraft's terrain generation algorithms. This often involves analyzing how specific structures or terrain features are generated based on different seeds.

Seed Candidates: Players will come up with several "seed candidates" that could potentially produce the observed world. These candidates are generated by simulating different seeds in a separate creative mode world or by using third-party tools designed for seed exploration. There's some YouTube videos out there where players had cracked the seeds of the Minecraft title screen panoramic.

Narrowing Down the Seed: Players carefully compare the candidate worlds to the observed world, eliminating seeds that don't match. They continue this process of elimination until they are left with only one or a few seeds that perfectly match the observations. There can only be possibly 4-5 seeds of the same type that spawn the same biome with the same shape, typically the first 4 and last 2 digits.

James-P-Bennett commented 11 months ago

For example, if you take a look at the source of the mod, this is how it gathers information on the biome you're in:

https://github.com/19MisterX98/SeedcrackerX/blob/master/src/main/java/kaptainwutax/seedcrackerX/cracker/BiomeData.java

obj-obj commented 11 months ago

Here's how seed cracking typically works:

Observation: Players start by observing the landscape and structures within a particular Minecraft world. They may explore the world to find distinctive features, such as rare biomes, peculiar mountain formations, or unique village placements. These observations can provide valuable clues about the seed.

Data Collection: To crack a seed, players need to gather as much information about the world as possible. This may include coordinates of various points of interest, village types, structures, biome distribution, and more. There's a few databases floating around out there full of seeds for comparable data that narrow them down to the starting biomes and shapes.

Comparison and Analysis: Once players have collected enough data, they compare the observations to what is known about Minecraft's terrain generation algorithms. This often involves analyzing how specific structures or terrain features are generated based on different seeds.

Seed Candidates: Players will come up with several "seed candidates" that could potentially produce the observed world. These candidates are generated by simulating different seeds in a separate creative mode world or by using third-party tools designed for seed exploration. There's some YouTube videos out there where players had cracked the seeds of the Minecraft title screen panoramic.

Narrowing Down the Seed: Players carefully compare the candidate worlds to the observed world, eliminating seeds that don't match. They continue this process of elimination until they are left with only one or a few seeds that perfectly match the observations. There can only be possibly 4-5 seeds of the same type that spawn the same biome with the same shape, typically the first 4 and last 2 digits.

Interesting, but I meant more like if there were any articles that explain the mathematics/logic behind it (like how structure positions are used to narrow down the possible seeds). I might just look through the source code later when I have free time