mojira.dev
MC-54738

Biome Depth Weight setting creates massive spikes in oceans

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:

  1. Create a new world.

  2. Change world type to Customized.

  3. Change Biome Depth Weight to 1.250.

  4. Create world.

  5. 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

Attachments

Comments 14

Please don't put down the affected version as a future version. You DON'T have access to it yet!

Ok sorry I will update. First time reporting a bug.

Please attach the complete customization preset.

Preset attached.

Confirmed with the preset and seed mentioned in the description.

4 more comments

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);

Is there a way to do this, but without the Giant spikes? I was messing around with a world and did this once, but I have no clue what I did with the advanced settings, and I no longer have the world. If anyone could help me, I would be very grateful!

MJo

Erik Broes

Confirmed

BiomeDepthWeight, WorldCustomization, biome, ocean, terrain, world-generation

Minecraft 14w17a, Minecraft 14w18b, Minecraft 14w19a, Minecraft 14w20a, Minecraft 14w20b, ..., Minecraft 14w31a, Minecraft 14w32a, Minecraft 14w33a, Minecraft 1.8.3, Minecraft 1.9

Retrieved