Skip to content
Stefan Dollase edited this page Nov 27, 2016 · 1 revision

Amidst uses the following steps to generate the map:

  1. First, a specific set of class files is identified in the given Minecraft jar file. It uses a heuristic to do this: While the name of the class files might change between Minecraft versions, there are some characteristics to uniquely identify the required classes.

  2. Once the correct classes are identified, Amidst uses Java's reflection mechanism to directly use the biome generator that is implemented in the Minecraft source code.

  3. Finally, the probable position of a given set of structures is calculated.

Which stages of the Minecraft world generator are used?

The Minecraft world generator has several stages. Amidst uses only the stage which generates the rough shape of the biomes as a 2D map. However, there are more stages like the terrain generator, which is also used by the structure generator. Amidst does not use those additional stages to keep the rendering as quick as it is.

Why are the structures displayed by Amidst incorrect?

This is a consequence of Amidst not using all stages of the Minecraft world generator, as described above. Thus, there are some structures displayed by Amidst which are not generated by Minecraft, called false positives with a probability of about 10% to 20%. There are also structures generated by Minecraft that are not displayed by Amidst, called false negatives with a probability of less than 1%. Making this more accurate would significantly slow down the rendering of the map.

Why does Amidst not display Dungeons?

This is a consequence of Amidst being unable to generate the exact same structures as the Minecraft world generator, as described above. Especially, the Dungeon generator strongly depends on later stages of the Minecraft world generator. Thus, Amidst is unable to display correct Dungeon locations with a high probability. To prevent confusion, we made the decision to omit the Dungeons generator from Amidst.