mojira.dev
MC-184644

Cave buffet generator generates with netherrack, even if using a non-nether biome

Cave buffet generator generates with netherrack, even if using a non-nether biome.

Linked issues

MC-184727 World Type: Caves generates netherrack and lava lakes when selecting Plains biome Resolved MC-184731 Netherrack and lava appearing in 'caves' world type Resolved MC-184954 In the “single biome”, “caves” and “floating islands” world generation settings, stone, netherrack or endstone always generate regardless of the biome Resolved MC-185127 Caves and floating islands generate exactly like their corresponding dimensions Resolved MC-185221 floating islands and caves work weirdly with some biomes Resolved

Attachments

Comments 4

It is caused by the world generator choosing, (sorry but I had to explain it in spanish because I don't speak english well):

Cuando elijes un generador de mundos, las opciones "Floating Islands" y "Caves" están usando los ajustes del "minecraft:end" y "minecraft:nether", respectivamente, cuando en realidad deberían usar el "minecraft:floating_islands" y "minecraft:caves". En resumen, esto sucede porque a los desarrolladores se les ha olvidado ponerlo así al separar el "Floating Islands" y el "Caves" del "Buffet". Es un error común.

Fix at: net.minecraft.client.gui.screens.worldselection.WorldPreset, method fromBuffetSettings(WorldGenSettings, WorldPreset, Biome) and static {}

 

private static WorldGenSettings fromBuffetSettings(final WorldGenSettings chw, final WorldPreset dsv, final Biome bqd) {
        final BiomeSource bqg4 = new FixedBiomeSource(bqd);
        NoiseGeneratorSettings chp5;
/* START CHANGES */
        if (dsv == WorldPreset.SINGLE_BIOME_CAVES) {
            chp5 = NoiseGeneratorSettings.Preset.CAVES.settings();
        }
        else if (dsv == WorldPreset.SINGLE_BIOME_FLOATING_ISLANDS) {
            chp5 = NoiseGeneratorSettings.Preset.FLOATING_ISLANDS.settings();
        }
        else {
            chp5 = NoiseGeneratorSettings.Preset.OVERWORLD.settings();
        }
/* END CHANGES */
        return new WorldGenSettings(chw.seed(), chw.generateFeatures(), chw.generateBonusChest(), WorldGenSettings.withOverworld(chw.dimensions(), new NoiseBasedChunkGenerator(bqg4, chw.seed(), chp5)));
    }

static {
/* START CHANGES */
        SINGLE_BIOME_CAVES = new WorldPreset("single_biome_caves") {
            @Override
            protected ChunkGenerator generator(final long long1) {
                return new NoiseBasedChunkGenerator(new FixedBiomeSource(Biomes.OCEAN), long1, NoiseGeneratorSettings.Preset.CAVES.settings());
            }
        };
        SINGLE_BIOME_FLOATING_ISLANDS = new WorldPreset("single_biome_floating_islands") {
            @Override
            protected ChunkGenerator generator(final long long1) {
                return new NoiseBasedChunkGenerator(new FixedBiomeSource(Biomes.OCEAN), long1, NoiseGeneratorSettings.Preset.FLOATING_ISLANDS.settings());
            }
        };
/* END CHANGES */
    }
[Mod] ManosSef

Caves setting for some reason uses the "minecraft:nether" setting instead of the "minecraft:caves" one.

Still present in 1.16 pre-3. This is not fixed.

For 1.16-pre3+ this is tracked in MC-188478.

W_V

(Unassigned)

Community Consensus

Normal

World generation

20w21a, 20w22a, 1.16 Pre-release 2, 1.16 Pre-release 3

1.16 Pre-release 4

Retrieved