diff --git a/common/addons/biome-provider-extrusion/src/main/java/com/dfsek/terra/addons/biome/extrusion/BiomeExtrusionProvider.java b/common/addons/biome-provider-extrusion/src/main/java/com/dfsek/terra/addons/biome/extrusion/BiomeExtrusionProvider.java index e5865e7f9..9d219eda8 100644 --- a/common/addons/biome-provider-extrusion/src/main/java/com/dfsek/terra/addons/biome/extrusion/BiomeExtrusionProvider.java +++ b/common/addons/biome-provider-extrusion/src/main/java/com/dfsek/terra/addons/biome/extrusion/BiomeExtrusionProvider.java @@ -1,16 +1,14 @@ package com.dfsek.terra.addons.biome.extrusion; -import com.dfsek.terra.addons.biome.extrusion.api.Extrusion; -import com.dfsek.terra.api.util.Column; -import com.dfsek.terra.api.world.biome.Biome; -import com.dfsek.terra.api.world.biome.generation.BiomeProvider; -import com.dfsek.terra.api.world.info.WorldProperties; - import java.util.List; import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; +import com.dfsek.terra.addons.biome.extrusion.api.Extrusion; +import com.dfsek.terra.api.world.biome.Biome; +import com.dfsek.terra.api.world.biome.generation.BiomeProvider; + public class BiomeExtrusionProvider implements BiomeProvider { private final BiomeProvider delegate; @@ -28,6 +26,14 @@ public class BiomeExtrusionProvider implements BiomeProvider { @Override public Biome getBiome(int x, int y, int z, long seed) { + x /= resolution; + y /= resolution; + z /= resolution; + + x *= resolution; + y *= resolution; + z *= resolution; + Biome delegated = delegate.getBiome(x, y, z, seed); for(Extrusion extrusion : extrusions) { @@ -42,19 +48,13 @@ public class BiomeExtrusionProvider implements BiomeProvider { return delegate.getBaseBiome(x, z, seed); } - public Biome getBiome(int x, int y, int z, long seed, Biome biome) { - for(Extrusion extrusion : extrusions) { - biome = extrusion.extrude(biome, x, y, z, seed); - } - return biome; - } - @Override public Iterable getBiomes() { return biomes; } - public int getResolution() { + @Override + public int resolution() { return resolution; } diff --git a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java index 30526fbaf..395e8d24e 100644 --- a/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java +++ b/common/addons/biome-provider-pipeline/src/main/java/com/dfsek/terra/addons/biome/pipeline/BiomePipelineProvider.java @@ -86,9 +86,8 @@ public class BiomePipelineProvider implements BiomeProvider { z += mutator.noise(seed + 2, x, z) * noiseAmp; - x = FastMath.floorDiv(x, resolution); - - z = FastMath.floorDiv(z, resolution); + x /= resolution; + z /= resolution; int fdX = FastMath.floorDiv(x, pipeline.getSize()); int fdZ = FastMath.floorDiv(z, pipeline.getSize());