Skip to content

[Feature] Config option for Seed Map/Minimap biome generation Y level #129

@vanvac

Description

@vanvac

I was panning around the map and saw some cave biomes being shown and was like "ohh yea that makes sense cause MC biomes are 3d now", and then conjured up this feature request.

Solution:

A config option eg. /sm:config BiomeYLevel <int> {int: min = -64, max = 319}

Possibly a way to change the Y level on the SeedMap screen

Current implementation, I see the y level is just hard coded to be at sea level

private int[] calculateBiomeData(TilePos tilePos) {
    QuartPos2 quartPos = QuartPos2.fromTilePos(tilePos);
...
        Range.x(range, quartPos.x());
        Range.z(range, quartPos.z());
        Range.sx(range, rangeSize);
        Range.sz(range, rangeSize);
        Range.y(range, 63 / Range.scale(range)); // sea level
        Range.sy(range, 1);
...

I would guess you would change it to either take directly from the TilePos which has its y level set by some config option/constant further up the chain, or use the y level constant directly here.

For the first option, you would have to give each tile a Y component in the TilePos field, in order not to conflict with existing cached tiles for a different y level, which could be a problem I'm not too sure.

Ps. I also hope you can get a better name than BiomeYLevel as for someone that doesn't know what they are doing it could be confusing what it does
also why does 63 / Range.scale(range) the range scale bit need to be there not too sure what it does

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions