cubiomes/docs/LayerSummary.tex
2018-03-17 21:55:48 +00:00

767 lines
32 KiB
TeX

\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{url}
\usepackage{pdfpages}
\usepackage{makecell}
\usepackage{tabularx}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{multirow}
\usepackage{array}
\title{Summary of the Biome Generation in \\ Minecraft 1.7 - 1.12}
\author{Cubitect}
\begin{document}
\maketitle
\begin{abstract}
This document is designed to provide an overview of how Minecraft biome generation works and how we may efficiently find seeds with desired properties.
\end{abstract}
\newpage
\tableofcontents
\newpage
\section{Biome Generator Layers}
Minecraft biome generation occurs in layers. Many of these layers are chained together inside the generator, such that the output from one becomes the input for the next. A flowchart of this can be found on the next page.
Each layer applies certain modifications to a map of integers, which change their use throughout the generation process. Initially the map only contains values 0 or 1, representing ocean or land masses. Later in the generator they represent temperature categories, until they are finally replaced by the actual biome IDs.
Some of the layers resize the output of the previous layer. These Zoom-layers therefore change how much area is represented by a map entry. I will refer to this as "scale". For instance, 1:256 should be read as: one map entry ends up as an area of 256x256 blocks in the world.
\setcounter{subsection}{-1}
\subsection{Seed Finding}
When constructing a seed finder, it may be useful to stop the generation at an earlier layer. For example if we require a swamp to be located near a given position, then we might want to generate up to layer 19: Biome first, and then check on a 1:256 scale if there is a swamp in the area. This is not enough to confirm that there will be a swamp at the given position, but we can rule out seeds that definitely don't have a swamp anywhere near the area. If the seed passes this cheap test, then we can go through the full expensive generation process and directly check the position for a swamp.
Usually it is not practical to continue the search from a terminated generation and we have to start over again. The reason for this is that most layers require an additional 1 wide boarder from the previous layer, so the map sizes don't match up.
Another more involved, but very powerful way of creating early knock-out criteria is to check if there is a some condition in the layer chain that is independent of the rest of the biomes. For instance in the case of finding a swamp, we can notice that there is a pseudo-random number check in layer 19: Biome, that converts Lush temperature climates to swamplands. However, the pseudo-random number generator is seeded by a combination of the position and the world seed, so we can make sure the random number output gives the required value without going through the rest of the layers. The more expensive generator can afterwards be used to make sure that a Lush climate is actually present at that position.
In the summary below in sections 1.1 -- 1.44 I have laid out some of the properties of each layer, such as the scale of the layer and the possible values for the map entries with their respective average probability of occurrence (Note: these are estimates and may vary). When constructing a seed finder these values can be used as a reference to determine reasonable cut-off points for the generator.
\includepdf[pages={1}]{layers.pdf}
\subsection{Layer 1: Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:4096} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 90.0\%\\\hline
1 & Land & 10.0\%\\\hline
\end{tabular}
\subsection{Layer 2: Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:2048} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 90.0\%\\\hline
1 & Land & 10.0\%\\\hline
\end{tabular}
\subsection{Layer 3: Add Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:2048} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 84.3\%\\\hline
1 & Land & 15.7\%\\\hline
\end{tabular}
\subsection{Layer 4: Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 84.9\%\\\hline
1 & Land & 15.1\%\\\hline
\end{tabular}
\subsection{Layer 5: Add Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 81.4\%\\\hline
1 & Land & 18.6\%\\\hline
\end{tabular}
\subsection{Layer 6: Add Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 77.5\%\\\hline
1 & Land & 22.5\%\\\hline
\end{tabular}
\subsection{Layer 7: Add Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 73.4\%\\\hline
1 & Land & 26.6\%\\\hline
\end{tabular}
\subsection{Layer 8: Remove Too Much Ocean}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 49.4\%\\\hline
1 & Land & 50.6\%\\\hline
\end{tabular}
\subsection{Layer 9: Add Snow}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 49.4\%\\\hline
1 & Warm & 33.7\%\\\hline
3 & Cold & 4.8\%\\\hline
4 & Freezing & 12.4\%\\\hline
\end{tabular}
\medskip\noindent
Changes some of the land starting points to Cold and Freezing.
\subsection{Layer 10: Add Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 33.8\%\\\hline
1 & Warm & 37.6\%\\\hline
3 & Cold & 4.8\%\\\hline
4 & Freeing & 23.9\%\\\hline
\end{tabular}
\medskip\noindent
Spreads out the continental areas, decreasing the amount of ocean.
\subsection{Layer 11: Edge, Cool/Warm}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 33.8\%\\\hline
1 & Warm & 13.6\%\\\hline
2 & Lush & 23.9\%\\\hline
3 & Cold & 4.8\%\\\hline
4 & Freezing & 23.9\%\\\hline
\end{tabular}
\medskip\noindent
Changes Warm(1) lands which are adjacent to Cold(3) or Freezing(4) temperatures to Lush(2).
\subsection{Layer 12: Edge, Heat/Ice}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 33.8\%\\\hline
1 & Warm & 13.6\%\\\hline
2 & Lush & 23.9\%\\\hline
3 & Cold & 23.9\%\\\hline
4 & Freezing & 4.8\%\\\hline
\end{tabular}
\medskip\noindent
Changes Freezing(4) lands which are adjacent to Warm(1) or Lush(2) temperatures to Cold(3).
\subsection{Layer 13: Edge, Special}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1024} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 33.8\%\\\hline
1 & Warm & 12.5\%\\\hline
2 & Lush & 22.1\%\\\hline
3 & Cold & 22.1\%\\\hline
4 & Freezing & 4.4\%\\\hline
- & Special & 5.1\% / 60\\\hline
\end{tabular}
\medskip\noindent
Marks every 1 in 13 lands (non-ocean) as special, by adding a 4-bit number in 0x0F00 to the value.
\subsection{Layer 14: Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:512} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 35.6\%\\\hline
1 & Warm & 12.2\%\\\hline
2 & Lush & 21.9\%\\\hline
3 & Cold & 21.9\%\\\hline
4 & Freezing & 4.2\%\\\hline
- & Special & 4.2\% / 60\\\hline
\end{tabular}
\subsection{Layer 15: Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:256} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 35.6\%\\\hline
1 & Warm & 11.9\%\\\hline
2 & Lush & 21.9\%\\\hline
3 & Cold & 21.9\%\\\hline
4 & Freezing & 4.2\%\\\hline
- & Special & 4.5\% / 60\\\hline
\end{tabular}
\subsection{Layer 16: Add Island}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:256} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 31.4\%\\\hline
1 & Warm & 12.7\%\\\hline
2 & Lush & 22.4\%\\\hline
3 & Cold & 22.8\%\\\hline
4 & Freezing & 6.2\%\\\hline
- & Special & 4.5\% / 60\\\hline
\end{tabular}
\subsection{Layer 17: Add Mushroom Island}
\begin{tabular}{|l|l|l|l|}\hline
Scale: & \multicolumn{3}{|l|}{1:256} \\\hline\hline
Value & Type & \multicolumn{2}{l|}{Occurrence} \\\hline
0 & Ocean & \multicolumn{2}{l|}{31.4\%}\\\hline
1 & Warm & \multicolumn{2}{l|}{12.8\%}\\\hline
2 & Lush & \multicolumn{2}{l|}{22.5\%}\\\hline
3 & Cold & \multicolumn{2}{l|}{22.7\%}\\\hline
4 & Freezing & \multicolumn{2}{l|}{6.08\%}\\\hline
14 & Mushroom & \multicolumn{2}{l|}{0.0773\%}\\\hline\hline
\makecell[l]{ $(n<<8)+1$ \\ with $n = $ \\ $1, 4, 7, 10, 13$ } & - &
\makecell[l]{0.0690\% \\each} & \multirow{5}{*}{0.90\%}\\\cline{1-3}
\makecell[l]{ $(n<<8)+1$ \\ with $n = $ \\ $2, 3, 5, 6, 8, 9,$ \\ $11, 12, 14, 15$ } & - & \makecell[l]{0.0553\% \\ each} & \\\hline\hline
\makecell[l]{ $(n<<8)+2$ \\ with $n = $ \\ $1, 4, 7, 10, 13$ } & - &
\makecell[l]{0.1236\% \\ each} & \multirow{5}{*}{1.56\%}\\\cline{1-3}
\makecell[l]{ $(n<<8)+2$ \\ with $n = $ \\ $2, 3, 5, 6, 8, 9,$ \\ $11, 12, 14, 15$ } & - & \makecell[l]{0.0961\% \\ each} & \\\hline\hline
\makecell[l]{ $(n<<8)+3$ \\ with $n = $ \\ $1, 4, 7, 10, 13$ } & - &
\makecell[l]{0.1078\% \\ each} & \multirow{5}{*}{1.58\%}\\\cline{1-3}
\makecell[l]{ $(n<<8)+3$ \\ with $n = $ \\ $2, 3, 5, 6, 8, 9,$ \\ $11, 12, 14, 15$ } & - &
\makecell[l]{0.1037\% \\ each} & \\\hline\hline
\makecell[l]{ $(n<<8)+4$ \\ with $n = $ \\ $1, 4, 7, 10, 13$ } & - &
\makecell[l]{0.0212\% \\ each} & \multirow{5}{*}{0.32\%}\\\cline{1-3}
\makecell[l]{ $(n<<8)+4$ \\ with $n = $ \\ $2, 3, 5, 6, 8, 9,$ \\ $11, 12, 14, 15$ } & - &
\makecell[l]{0.0212\% \\ each} & \\\hline
\end{tabular}
\medskip\noindent
Changes every 100th Ocean (adjacent to more Ocean) to Mushroom Island. The special land types are written out in full in the table above. (Note "$<<$" represents a left bit shit.) Added together, the special types make up an average of about 4.37\% of the area.
\subsection{Layer 18: Deep Ocean}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:256} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & Ocean & 22.0\%\\\hline
1 & Warm & 12.8\%\\\hline
2 & Lush & 22.5\%\\\hline
3 & Cold & 22.7\%\\\hline
4 & Freezing & 6.1\%\\\hline
14 & Mushroom & 0.0773\%\\\hline
24 & Deep Ocean & 9.4\%\\\hline
- & Special & 4.4\% / 60\\\hline
\end{tabular}
\medskip\noindent
Changes any Ocean which is surrounded by more Ocean to Deep Ocean.\\
(Special lands still have the same statistics as shown for Layer 17.)
\subsection{Layer 19: Biome}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:256} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 22.0\%\\\hline
1 & plains & 11.6\%\\\hline
2 & desert & 6.41\%\\\hline
3 & extremeHills & 9.44\%\\\hline
4 & forest & 9.43\%\\\hline
5 & taiga & 5.68\%\\\hline
6 & swampland & 3.75\%\\\hline
12 & icePlains & 4.80\%\\\hline
14 & mushroomIsland & 0.0773\%\\\hline
21 & jungle & 1.58\%\\\hline
24 & deepOcean & 9.38\%\\\hline
27 & birchForest & 3.75\%\\\hline
29 & roofedForest & 3.75\%\\\hline
30 & coldTaiga & 1.60\%\\\hline
32 & megaTaiga & 1.58\%\\\hline
35 & savanna & 4.28\%\\\hline
38 & mesaPlateau\_F & 0.598\%\\\hline
39 & mesaPlateau & 0.299\%\\\hline
\end{tabular}
\medskip\noindent
Assigns the actual biome IDs to the lands, based on the temperature category of the land. To be more specific the selection criteria are:
\begin{tabular}{l c c l}
Temperature & & Weight & Biome \\\hline\hline
Warm & $\longrightarrow$ &
\makecell[c]{1/2 \\ 1/3 \\ 1/6} &
\makecell[l]{desert \\ savanna \\ plains} \\\hline
Warm, special & $\longrightarrow$ &
\makecell[c]{1/3 \\ 2/3} &
\makecell[l]{mesaPlateau \\ mesaPlateau\_F} \\\hline
Lush & $\longrightarrow$ &
\makecell[c]{1/6 \\ 1/6 \\ 1/6 \\ 1/6 \\ 1/6 \\ 1/6} &
\makecell[l]{forest \\ roofedForest \\ extremeHills \\ plains \\ birchForest \\ swampland} \\\hline
Lush, special & $\longrightarrow$ &
\makecell[c]{1/1} &
jungle \\\hline
Cold & $\longrightarrow$ &
\makecell[c]{1/4 \\ 1/4 \\ 1/4 \\ 1/4} &
\makecell[l]{forest \\ extremeHills \\ taiga \\ plains} \\\hline
Cold, special & $\longrightarrow$ &
\makecell[c]{1/1} &
megaTaiga \\\hline
Freezing& $\longrightarrow$ &
\makecell[c]{3/4 \\ 1/4} &
\makecell[l]{icePlains \\ coldTaiga}
\end{tabular}
\medskip\noindent
Ocean and Mushroom types are not affected by this layer. The special category is selected when one of the higher bits (0xF00) are set. E.g. 0x603 has high bits and is thus a special Cold(3) category.
\subsection{Layer 20: Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:128} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 23.6\%\\\hline
1 & plains & 11.3\%\\\hline
2 & desert & 6.48\%\\\hline
3 & extremeHills & 9.28\%\\\hline
4 & forest & 9.28\%\\\hline
5 & taiga & 5.52\%\\\hline
6 & swampland & 3.61\%\\\hline
12 & icePlains & 4.94\%\\\hline
14 & mushroomIsland & 0.0586\%\\\hline
21 & jungle & 1.62\%\\\hline
24 & deepOcean & 9.09\%\\\hline
27 & birchForest & 3.61\%\\\hline
29 & roofedForest & 3.61\%\\\hline
30 & coldTaiga & 1.45\%\\\hline
32 & megaTaiga & 1.62\%\\\hline
35 & savanna & 4.12\%\\\hline
38 & mesaPlateau\_F & 0.602\%\\\hline
39 & mesaPlateau & 0.279\%\\\hline
\end{tabular}
\subsection{Layer 21: Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:64} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 23.9\%\\\hline
1 & plains & 11.2\%\\\hline
2 & desert & 6.50\%\\\hline
3 & extremeHills & 9.23\%\\\hline
4 & forest & 9.23\%\\\hline
5 & taiga & 5.49\%\\\hline
6 & swampland & 3.56\%\\\hline
12 & icePlains & 5.00\%\\\hline
14 & mushroomIsland & 0.0543\%\\\hline
21 & jungle & 1.62\%\\\hline
24 & deepOcean & 9.03\%\\\hline
27 & birchForest & 3.58\%\\\hline
29 & roofedForest & 3.57\%\\\hline
30 & coldTaiga & 1.43\%\\\hline
32 & megaTaiga & 1.62\%\\\hline
35 & savanna & 4.08\%\\\hline
38 & mesaPlateau\_F & 0.603\%\\\hline
39 & mesaPlateau & 0.275\%\\\hline
\end{tabular}
\subsection{Layer 22: Biome Edge}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:64} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 23.9\%\\\hline
1 & plains & 11.2\%\\\hline
2 & desert & 6.48\%\\\hline
3 & extremeHills & 9.23\%\\\hline
4 & forest & 9.23\%\\\hline
5 & taiga & 6.01\%\\\hline
6 & swampland & 3.47\%\\\hline
12 & icePlains & 5.00\%\\\hline
14 & mushroomIsland & 0.0543\%\\\hline
21 & jungle & 1.62\%\\\hline
23 & jungleEdge & 0.0144\%\\\hline
24 & deepOcean & 9.03\%\\\hline
27 & birchForest & 3.58\%\\\hline
29 & roofedForest & 3.57\%\\\hline
30 & coldTaiga & 1.43\%\\\hline
32 & megaTaiga & 1.11\%\\\hline
34 & extremeHillsPlus & 0.0111\%\\\hline
35 & savanna & 4.09\%\\\hline
37 & mesa & 0.321\%\\\hline
38 & mesaPlateau\_F & 0.385\%\\\hline
39 & mesaPlateau & 0.172\%\\\hline
\end{tabular}
\medskip\noindent
Introduces the biomes jungleEdge, extremeHillsPlus and mesa. The conditional biome changes that take place in this layer are:
\begin{tabular}{l c l}
mesaPlateau\_F & $\longrightarrow$ & mesa\\
mesaPlateau & $\longrightarrow$ & mesa\\
megaTaiga & $\longrightarrow$ & taiga\\
desert & $\longrightarrow$ & extremeHillsPlus\\
swampland & $\longrightarrow$ & jungleEdge \\
swampland & $\longrightarrow$ & plains
\end{tabular}
\subsection{Layer 23: River Init}
Starts a new branch of off Layer 18: Deep Ocean. This layer overwrites each map entry that is not Ocean(0) with a pseudo random number between 2 and 300000 (inclusive).
\subsection{Layer 24: Zoom}
\subsection{Layer 25: Zoom}
\subsection{Layer 26: Hills}
This is a multilayer which joins the biome generation with the river generator branch at the layers Biome Edge (22) and Zoom (25). However at this stage the river branch is mostly just used as a pseudo random number source.
\medskip\noindent
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:64} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 17.5\%\\\hline
1 & plains & 9.86\%\\\hline
2 & desert & 4.83\%\\\hline
3 & extremeHills & 6.95\%\\\hline
4 & forest & 8.87\%\\\hline
5 & taiga & 4.67\%\\\hline
6 & swampland & 3.36\%\\\hline
12 & icePlains & 3.54\%\\\hline
13 & iceMountains & 1.30\%\\\hline
14 & mushroomIsland & 0.0543\%\\\hline
17 & desertHills & 1.46\%\\\hline
18 & forestHills & 2.68\%\\\hline
19 & taigaHills & 1.15\%\\\hline
21 & jungle & 1.15\%\\\hline
22 & jungleHills & 0.420\%\\\hline
23 & jungleEdge & 0.0140\%\\\hline
24 & deepOcean & 14.4\%\\\hline
27 & birchForest & 2.58\%\\\hline
28 & birchForestHills & 0.800\%\\\hline
29 & roofedForest & 2.57\%\\\hline
30 & coldTaiga & 1.11\%\\\hline
31 & coldTaigaHills & 0.282\%\\\hline
32 & megaTaiga & 0.688\%\\\hline
33 & megaTaigaHills & 0.344\%\\\hline
34 & extremeHillsPlus & 1.80\%\\\hline
35 & savanna & 3.05\%\\\hline
36 & savannaPlateau & 0.830\%\\\hline
37 & mesa & 0.486\%\\\hline
38 & mesaPlateau\_F & 0.240\%\\\hline
39 & mesaPlateau & 0.107\%\\\hline
\end{tabular}
\newpage\noindent
\begin{tabular}{|l|l|l|}\hline
129 & Sunflower Plains & 0.4816\%\\\hline
130 & Desert M & 0.1971\%\\\hline
131 & Extreme Hills M & 0.2944\%\\\hline
132 & Flower Forest & 0.4904\%\\\hline
133 & Taiga M & 0.1897\%\\\hline
134 & Swampland M & 0.1109\%\\\hline
140 & Ice Plains Spikes & 0.1606\%\\\hline
149 & Jungle M & 0.0511\%\\\hline
151 & Jungle Edge M & 0.0005\%\\\hline
155 & Birch Forest M & 0.1154\%\\\hline
156 & Birch Forest Hills M & 0.0854\%\\\hline
157 & Roofed Forest M & 0.1144\%\\\hline
158 & Cold Taiga M & 0.0461\%\\\hline
160 & Mega Spruce Taiga & 0.0365\%\\\hline
161 & Redwood Taiga Hills & 0.0366\%\\\hline
162 & Extreme Hills+ M & 0.1913\%\\\hline
163 & Savanna M & 0.1240\%\\\hline
164 & Savanna Plateau M & 0.0853\%\\\hline
165 & Mesa (Bryce) & 0.0263\%\\\hline
166 & Mesa Plateau F M & 0.0123\%\\\hline
167 & Mesa Plateau M & 0.0056\%\\\hline
\end{tabular}
\medskip\noindent
Nine new biomes: iceMountains, desertHills, forestHills, taigaHills, jungleHills, birchForestHills, coldTaigaHills, megaTaigaHills and savannaPlateau. Also there are 21 new mutated variants which I have listed by their ingame display name.
This layer converts some map entries to related biomes, forming small biome patches. A list of the conversions that take place in this manor is shown below. Additionally, this layer adds 128 to some map entries, provided that the resulting biome ID is valid, forming mutated biome variants.
\begin{tabular}{l c l}
desert & $\longrightarrow$ & desertHill\\
forest & $\longrightarrow$ & forestHills\\
birchForest & $\longrightarrow$ & birchForestHills\\
roofedForest & $\longrightarrow$ & plains\\
taiga & $\longrightarrow$ & taigaHills\\
megaTaiga & $\longrightarrow$ & megaTaigaHills\\
coldTaiga & $\longrightarrow$ & coldTaigaHills\\
plains & $\longrightarrow$ & (1/3) forestHills, (2/3) forest\\
icePlains & $\longrightarrow$ & iceMountains\\
jungle & $\longrightarrow$ & jungleHills\\
ocean & $\longrightarrow$ & deepOcean\\
extremeHills & $\longrightarrow$ & extremeHillsPlus\\
savanna & $\longrightarrow$ & savannaPlateau\\
mesaPlateau\_F & $\longrightarrow$ & mesa\\
deepOcean & $\longrightarrow$ & (1/2) plains, (1/2) forest
\end{tabular}
\subsection{Layer 27: Rare Biome}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:64} \\\hline\hline
Value & Type & Occurrence \\\hline
1 & plains & 9.68\%\\\hline
129 & Sunflower Plains & 0.654\%\\\hline
... & ... & ...\\\hline
\end{tabular}
\medskip\noindent
This layer converts 1/57 th of Plains to Sunflower Plains. It has no affect on other biomes.
\subsection{Layer 31: Shore}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:16} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 15.7\%\\\hline
1 & plains & 8.93\%\\\hline
2 & desert & 4.59\%\\\hline
3 & extremeHills & 6.68\%\\\hline
4 & forest & 8.67\%\\\hline
5 & taiga & 4.39\%\\\hline
6 & swampland & 3.44\%\\\hline
12 & icePlains & 3.44\%\\\hline
13 & iceMountains & 1.15\%\\\hline
14 & mushroomIsland & 0.0370\%\\\hline
15 & mushroomIslandShore & 0.0208\%\\\hline
16 & beach & 3.81\%\\\hline
17 & desertHills & 1.27\%\\\hline
18 & forestHills & 2.27\%\\\hline
19 & taigaHills & 0.975\%\\\hline
21 & jungle & 1.03\%\\\hline
22 & jungleHills & 0.359\%\\\hline
23 & jungleEdge & 0.0853\%\\\hline
24 & deepOcean & 15.7\%\\\hline
25 & stoneBeach & 0.534\%\\\hline
26 & coldBeach & 0.311\%\\\hline
27 & birchForest & 2.45\%\\\hline
28 & birchForestHills & 0.800\%\\\hline
29 & roofedForest & 2.57\%\\\hline
30 & coldTaiga & 1.07\%\\\hline
31 & coldTaigaHills & 0.246\%\\\hline
32 & megaTaiga & 0.691\%\\\hline
33 & megaTaigaHills & 0.313\%\\\hline
34 & extremeHillsPlus & 2.84\%\\\hline
35 & savanna & 3.05\%\\\hline
36 & savannaPlateau & 0.715\%\\\hline
37 & mesa & 0.469\%\\\hline
38 & mesaPlateau\_F & 0.242\%\\\hline
39 & mesaPlateau & 0.103\%\\\hline
\end{tabular}
\newpage\noindent
\begin{tabular}{|l|l|l|}\hline
129 & Sunflower Plains & 0.571\%\\\hline
130 & Desert M & 0.188\%\\\hline
131 & Extreme Hills M & 0.284\%\\\hline
132 & Flower Forest & 0.430\%\\\hline
133 & Taiga M & 0.176\%\\\hline
134 & Swampland M & 0.111\%\\\hline
140 & Ice Plains Spikes & 0.157\%\\\hline
149 & Jungle M & 0.0492\%\\\hline
151 & Jungle Edge M & 0.000451\%\\\hline
155 & Birch Forest M & 0.109\%\\\hline
156 & Birch Forest Hills M & 0.0827\%\\\hline
157 & Roofed Forest M & 0.114\%\\\hline
158 & Cold Taiga M & 0.0477\%\\\hline
160 & Mega Spruce Taiga & 0.0358\%\\\hline
161 & Redwood Taiga Hills & 0.0354\%\\\hline
162 & Extreme Hills+ M & 0.184\%\\\hline
163 & Savanna M & 0.119\%\\\hline
164 & Savanna Plateau M & 0.0824\%\\\hline
165 & Mesa (Bryce) & 0.0236\%\\\hline
166 & Mesa Plateau F M & 0.0121\%\\\hline
167 & Mesa Plateau M & 0.00566\%\\\hline
\end{tabular}
\medskip\noindent
New biomes: mushroomIslandShore, beach, stoneBeach, coldBeach.
\subsection{Layer 41: River}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:4} \\\hline\hline
Value & Type & Occurrence \\\hline
-1 & none & 94.3\%\\\hline
7 & river & 5.70\%\\\hline
\end{tabular}
\medskip\noindent
Uses the zoomed pseudo random output of the river branch to determine the position of rivers in the world. All other values are set to -1.
\subsection{Layer 43: River Mix}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:4} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 13.9\%\\\hline
1 & plains & 9.69\%\\\hline
2 & desert & 4.80\%\\\hline
3 & extremeHills & 7.24\%\\\hline
4 & forest & 9.21\%\\\hline
5 & taiga & 4.47\%\\\hline
6 & swampland & 4.03\%\\\hline
7 & river & 4.19\%\\\hline
11 & frozenRiver & 0.0872\%\\\hline
12 & icePlains & 1.52\%\\\hline
13 & iceMountains & 0.495\%\\\hline
14 & mushroomIsland & 0.0257\%\\\hline
15 & mushroomIslandShore & 0.0172\%\\\hline
16 & beach & 2.96\%\\\hline
17 & desertHills & 1.33\%\\\hline
18 & forestHills & 2.50\%\\\hline
19 & taigaHills & 0.994\%\\\hline
21 & jungle & 1.21\%\\\hline
22 & jungleHills & 0.421\%\\\hline
23 & jungleEdge & 0.101\%\\\hline
24 & deepOcean & 12.7\%\\\hline
25 & stoneBeach & 0.426\%\\\hline
26 & coldBeach & 0.132\%\\\hline
27 & birchForest & 2.96\%\\\hline
28 & birchForestHills & 0.849\%\\\hline
29 & roofedForest & 2.93\%\\\hline
30 & coldTaiga & 0.466\%\\\hline
31 & coldTaigaHills & 0.107\%\\\hline
32 & megaTaiga & 0.704\%\\\hline
33 & megaTaigaHills & 0.316\%\\\hline
34 & extremeHillsPlus & 1.69\%\\\hline
35 & savanna & 2.97\%\\\hline
36 & savannaPlateau & 0.750\%\\\hline
37 & mesa & 0.456\%\\\hline
38 & mesaPlateau\_F & 0.251\%\\\hline
39 & mesaPlateau & 0.110\%\\\hline
\end{tabular}
\newpage\noindent
\begin{tabular}{|l|l|l|}\hline
129 & Sunflower Plains & 0.616\%\\\hline
130 & Desert M & 0.205\%\\\hline
131 & Extreme Hills M & 0.315\%\\\hline
132 & Flower Forest & 0.477\%\\\hline
133 & Taiga M & 0.184\%\\\hline
134 & Swampland M & 0.130\%\\\hline
140 & Ice Plains Spikes & 0.0681\%\\\hline
149 & Jungle M & 0.0582\%\\\hline
151 & Jungle Edge M & 0.000625\%\\\hline
155 & Birch Forest M & 0.136\%\\\hline
156 & Birch Forest Hills M & 0.101\%\\\hline
157 & Roofed Forest M & 0.136\%\\\hline
158 & Cold Taiga M & 0.0196\%\\\hline
160 & Mega Spruce Taiga & 0.0371\%\\\hline
161 & Redwood Taiga Hills & 0.0369\%\\\hline
162 & Extreme Hills+ M & 0.203\%\\\hline
163 & Savanna M & 0.128\%\\\hline
164 & Savanna Plateau M & 0.0882\%\\\hline
165 & Mesa (Bryce) & 0.0257\%\\\hline
166 & Mesa Plateau F M & 0.0134\%\\\hline
167 & Mesa Plateau M & 0.00585\%\\\hline
\end{tabular}
\medskip\noindent
This layer is actually used in parts of the Minecraft code where a faster alternative for the full biome generator is required. Note that this layer has a scale of 1:4 and the final map is just a zoomed version of this layer's output. The function of this layer is to apply the rivers to the main biome branch. A new biome is also added in this layer: frozenRiver.
\subsection{Layer 44: Voronoi Zoom}
\begin{tabular}{|l|l|l|}\hline
Scale: & \multicolumn{2}{|l|}{1:1} \\\hline\hline
Value & Type & Occurrence \\\hline
0 & ocean & 13.7\%\\\hline
1 & plains & 10.0\%\\\hline
2 & desert & 4.84\%\\\hline
3 & extremeHills & 7.50\%\\\hline
4 & forest & 9.54\%\\\hline
5 & taiga & 4.59\%\\\hline
6 & swampland & 4.22\%\\\hline
7 & river & 4.30\%\\\hline
11 & frozenRiver & 0.0806\%\\\hline
12 & icePlains & 1.40\%\\\hline
13 & iceMountains & 0.451\%\\\hline
14 & mushroomIsland & 0.0209\%\\\hline
15 & mushroomIslandShore & 0.0137\%\\\hline
16 & beach & 2.92\%\\\hline
17 & desertHills & 1.33\%\\\hline
18 & forestHills & 2.59\%\\\hline
19 & taigaHills & 1.00\%\\\hline
21 & jungle & 1.26\%\\\hline
22 & jungleHills & 0.429\%\\\hline
23 & jungleEdge & 0.118\%\\\hline
24 & deepOcean & 11.2\%\\\hline
25 & stoneBeach & 0.433\%\\\hline
26 & coldBeach & 0.118\%\\\hline
27 & birchForest & 3.12\%\\\hline
28 & birchForestHills & 0.890\%\\\hline
29 & roofedForest & 3.09\%\\\hline
30 & coldTaiga & 0.428\%\\\hline
31 & coldTaigaHills & 0.0984\%\\\hline
32 & megaTaiga & 0.675\%\\\hline
33 & megaTaigaHills & 0.303\%\\\hline
34 & extremeHillsPlus & 1.74\%\\\hline
35 & savanna & 3.00\%\\\hline
36 & savannaPlateau & 0.751\%\\\hline
37 & mesa & 0.464\%\\\hline
38 & mesaPlateau\_F & 0.238\%\\\hline
39 & mesaPlateau & 0.105\%\\\hline
\end{tabular}
\newpage\noindent
\begin{tabular}{|l|l|l|}\hline
129 & Sunflower Plains & 0.635\%\\\hline
130 & Desert M & 0.203\%\\\hline
131 & Extreme Hills M & 0.325\%\\\hline
132 & Flower Forest & 0.491\%\\\hline
133 & Taiga M & 0.190\%\\\hline
134 & Swampland M & 0.134\%\\\hline
140 & Ice Plains Spikes & 0.0625\%\\\hline
149 & Jungle M & 0.0612\%\\\hline
151 & Jungle Edge M & 0.000781\%\\\hline
155 & Birch Forest M & 0.144\%\\\hline
156 & Birch Forest Hills M & 0.106\%\\\hline
157 & Roofed Forest M & 0.142\%\\\hline
158 & Cold Taiga M & 0.0181\%\\\hline
160 & Mega Spruce Taiga & 0.0356\%\\\hline
161 & Redwood Taiga Hills & 0.0354\%\\\hline
162 & Extreme Hills+ M & 0.210\%\\\hline
163 & Savanna M & 0.129\%\\\hline
164 & Savanna Plateau M & 0.0885\%\\\hline
165 & Mesa (Bryce) & 0.0258\%\\\hline
166 & Mesa Plateau F M & 0.0131\%\\\hline
167 & Mesa Plateau M & 0.00559\%\\\hline
\end{tabular}
\medskip\noindent
This is the final layer in the biome generator and contains all the Overworld biomes except for frozenOcean, which does not generate in Mincraft 1.7 - 1.12.
\end{document}