(biome_tree.c)
- Add lookup table for pre-B1.8 biomes
- Add getOldBetaBiome function to look up biome from climate noise values
(layers.h)
- Add header for getOldBetaBiome function defined in biome_tree.c
- Fix small error from previous commit (semicolons instead of commas)
(noise.c)
- Add new octaveInitOldBetaBiome function
- Add new sampleOctaveOldBetaBiome function
(noise.h)
- Add headers for two new functions defined in noise.c
This commit adds new functions required to generate Alpha 1.2 - Beta 1.7
climate maps, as well as a lookup table for biomes.
The pre- Beta 1.8 biome system uses three 2D simplex noise maps to determine
biomes -- two 4-octave maps for temperature and humidity, and an additional
2-octave map as a source of high-frequency noise that is applied to the raw
output of both climate maps as they are mapped to the range [-1, 1] before
being used to determine the biome at each coordinate sample.
Beta 1.7.3's NoiseGeneratorOctaves2 class defines the lacunarity and
amplitude of each octave of a map in a way that seems incompatible with the
existing octaveInit function. The lacunarity of each octave is the provided
starting value multiplied by a power of a provided modifier value, starting
at modifier^0 and ending at modifier^(octcnt-1). Amplitude works similarly, but
the starting value and modifier are hardcoded. As far as I can tell, there's no
way to get the correct results using octaveInit, so a new
octaveInitOldBetaBiome is used here to initialize the octaves correctly.
Given that Cubiomes has no pre-existing function for sampling simplex
OctaveNoise, I added sampleOctaveOldBetaBiome. It works the same as
sampleOctave, except that it calls sampleSimplex2D instead of samplePerlin,
and it adds the noisemap's random values 'a' and 'b' onto ax and az
respectively in order to match Minecraft b1.7's simplex sampling algorithm.
(layers.h)
- Add MC_B1_7 to MCVersion enum
- Add name mappings for B1.7 biomes to BiomeID enum
(util.c)
- Add Beta 1.7 to mc2str and str2mc functions
- Add name mappings for B1.7 biomes to biome2str function
* fixed biomeExists() for 1.19 end dimension
* fixed biome check position for village and bastion in 1.18+
* added support for 1:256 scale of biome locator in 1.17-
expanded support for structure variants
added end city pieces generation (WIP)
added outer end voids (MC-159283)
fixed several issues with the availablity of biomes for layered generation
fixed that about half of 1.18/1.19 end gateways have wrong positions
1) fixed biome exclusion filter no longer working for 1.17-
2) fixed ruined portal variations
3) separted quad base code with threading and filesystem dependencies into its own source file
Fixed a few typos ("Riggerously," "Luckly", "Handfull", "Seperately", "Attemps", "Stongholds") and added several commas. Did some rewording in a few sections, but overall did not change the meaning of any sentences.