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
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
I would guess you would change it to either take directly from the
TilePoswhich 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
TilePosfield, 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