-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
The result of getBiomeColumnAt can change if the method is first invoked with different block coords in the same chunk (using the same TerrainGenerator object). For example, the code below outputs "minecraft:grass_block" (which is correct)
public static void main(String[] args) {
MCVersion version = MCVersion.v1_16_1;
long seed = 46;
OverworldBiomeSource biomeSource = new OverworldBiomeSource(version, seed);
OverworldTerrainGenerator terrainGenerator = new OverworldTerrainGenerator(biomeSource);
System.out.println(terrainGenerator.getBiomeColumnAt(165, 162)[67]);
}However the following code outputs "minecraft:air"
public static void main(String[] args) {
MCVersion version = MCVersion.v1_16_1;
long seed = 46;
OverworldBiomeSource biomeSource = new OverworldBiomeSource(version, seed);
OverworldTerrainGenerator terrainGenerator = new OverworldTerrainGenerator(biomeSource);
terrainGenerator.getBiomeColumnAt(170, 175);
System.out.println(terrainGenerator.getBiomeColumnAt(165, 162)[67]);
}I believe this is caused by generateBiomeColumnBefore. In particular, I think that x, z should instead be posX, posZ here:
mc_terrain_java/src/main/java/com/seedfinding/mcterrain/terrain/SurfaceGenerator.java
Lines 540 to 541 in a03e440
| Block[] buffer = columnProvider.apply(x, z); | |
| this.replaceBiomeBlocks(buffer, x, z, rand); |
Metadata
Metadata
Assignees
Labels
No labels