The Biome Depth Weight has a valid range of 1.000 to 20.000, with a default value of 1.000. When gradually adjusting this setting, most biomes swell and gradually change. (Rivers become wider and deeper, etc.) However, on Ocean--Deep Ocean boundaries, massive spikes that tower to the top of the map (y = 256) appear. This occurs even when slightly adjusting the Biome Depth Weight value.
How to reproduce:
Create a new world.
Change world type to Customized.
Change Biome Depth Weight to 1.250.
Create world.
Locate an Ocean--Deep Ocean biome boundary.
You can also reproduce this bug by using the attached world customization preset with one of the following seeds, which have a spawn point near an ocean:
Seed 1 | 746720048 |
Seed 2 | 8123728 |
The GIF image below animates how the Ocean--Deep Ocean boundary changes as the Biome Depth Weight (BDW) is increased. Created using the following:
Seed | 8123728 |
Location | /tp 40 40 40 270 0 |
Gamemode | Spectator (for seeing through blocks) |
Effect | Night Vision (for seeing through water) |
Caves, ravines, mineshafts, lava lakes, etc. were turned off using world customization.
[media]Linked issues
is duplicated by 4
Attachments
Comments 14
I am a bit disappointed to see this marked as "Works As Intended." I would understand if the problem is too deep within the world generation code and therefore cannot be fixed right now. In that scenario I would prefer to see the bug remain open, so that it would have visibility if the world generation algorithm was ever revisited in a future version. Or at the very least, be honest and mark the resolution as "Won't Fix."
This is a literal one line fix. Detailed description can be found at http://www.minecraftforum.net/forums/minecraft-discussion/discussion/2393260-customized-settings-for-amplified
The problem is in ChunkProviderGenerate.java
Your code should look similar to this:
float minHeight = this.customizedSettings.biomeDepthOffset + var17.minHeight * this.customizedSettings.biomeDepthWeight;
float maxHeight = this.customizedSettings.biomeScaleOffset + var17.maxHeight * this.customizedSettings.biomeScaleWeight;
// Begin fix
if (minHeight < -1.8) minHeight = -1.8; // -1.8 is the lowest natural biome minHeight for the generic overworld
// End fix
if (this.worldType == WorldType.AMPLIFIED && minHeight > 0.0F)
{
minHeight = 1.0F + var18 * 2.0F;
maxHeight = 1.0F + var19 * 4.0F;
}
// When the divisor goes negative, the sign of this equation inverts, causing spikes.
float var20 = this.parabolicField[var15 + 2 + (var16 + 2) * 5] / (minHeight + 2.0F);
Please don't put down the affected version as a future version. You DON'T have access to it yet!