BiomePipelineImpl -> BiomePipeline

This commit is contained in:
dfsek
2021-07-19 22:22:24 -07:00
parent 04d78c1e32
commit f9a199f177
4 changed files with 9 additions and 12 deletions
@@ -7,15 +7,14 @@ import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
public class BiomePipelineImpl { public class BiomePipeline {
private final BiomeSource source; private final BiomeSource source;
private final List<Stage> stages; private final List<Stage> stages;
private final int size; private final int size;
private final int init; private final int init;
private BiomePipelineImpl(BiomeSource source, List<Stage> stages, int size, int init) { private BiomePipeline(BiomeSource source, List<Stage> stages, int size, int init) {
this.source = source; this.source = source;
this.stages = stages; this.stages = stages;
this.size = size; this.size = size;
@@ -50,12 +49,12 @@ public class BiomePipelineImpl {
expand = init; expand = init;
} }
public BiomePipelineImpl build(BiomeSource source) { public BiomePipeline build(BiomeSource source) {
for(Stage stage : stages) { for(Stage stage : stages) {
if(stage.isExpansion()) expand = expand * 2 - 1; if(stage.isExpansion()) expand = expand * 2 - 1;
} }
return new BiomePipelineImpl(source, stages, expand, init); return new BiomePipeline(source, stages, expand, init);
} }
public BiomePipelineBuilder addStage(Stage stage) { public BiomePipelineBuilder addStage(Stage stage) {
@@ -3,7 +3,6 @@ package com.dfsek.terra.addons.biome.pipeline;
import com.dfsek.terra.addons.biome.pipeline.api.BiomeHolder; import com.dfsek.terra.addons.biome.pipeline.api.BiomeHolder;
import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.noise.NoiseSampler; import com.dfsek.terra.api.noise.NoiseSampler;
import com.dfsek.terra.api.vector.Vector2;
import com.dfsek.terra.api.world.biome.TerraBiome; import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheBuilder;
@@ -14,12 +13,12 @@ import org.jetbrains.annotations.NotNull;
public class StandardBiomeProvider implements BiomeProvider { public class StandardBiomeProvider implements BiomeProvider {
private final LoadingCache<SeededVector, BiomeHolder> holderCache; private final LoadingCache<SeededVector, BiomeHolder> holderCache;
private final BiomePipelineImpl pipeline; private final BiomePipeline pipeline;
private final int resolution; private final int resolution;
private final NoiseSampler mutator; private final NoiseSampler mutator;
private final double noiseAmp; private final double noiseAmp;
public StandardBiomeProvider(BiomePipelineImpl pipeline, TerraPlugin main, int resolution, NoiseSampler mutator, double noiseAmp) { public StandardBiomeProvider(BiomePipeline pipeline, TerraPlugin main, int resolution, NoiseSampler mutator, double noiseAmp) {
this.resolution = resolution; this.resolution = resolution;
this.mutator = mutator; this.mutator = mutator;
this.noiseAmp = noiseAmp; this.noiseAmp = noiseAmp;
@@ -2,7 +2,7 @@ package com.dfsek.terra.addons.biome.pipeline.config;
import com.dfsek.tectonic.annotations.Default; import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value; import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.addons.biome.pipeline.BiomePipelineImpl; import com.dfsek.terra.addons.biome.pipeline.BiomePipeline;
import com.dfsek.terra.addons.biome.pipeline.StandardBiomeProvider; import com.dfsek.terra.addons.biome.pipeline.StandardBiomeProvider;
import com.dfsek.terra.addons.biome.pipeline.api.Stage; import com.dfsek.terra.addons.biome.pipeline.api.Stage;
import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
@@ -30,9 +30,9 @@ public class BiomePipelineTemplate extends BiomeProviderTemplate {
@Override @Override
public BiomeProvider get() { public BiomeProvider get() {
BiomePipelineImpl.BiomePipelineBuilder biomePipelineBuilder = new BiomePipelineImpl.BiomePipelineBuilder(initialSize); BiomePipeline.BiomePipelineBuilder biomePipelineBuilder = new BiomePipeline.BiomePipelineBuilder(initialSize);
stages.forEach(biomePipelineBuilder::addStage); stages.forEach(biomePipelineBuilder::addStage);
BiomePipelineImpl pipeline = biomePipelineBuilder.build(source); BiomePipeline pipeline = biomePipelineBuilder.build(source);
return new StandardBiomeProvider(pipeline, main, resolution, blend, blendAmp); return new StandardBiomeProvider(pipeline, main, resolution, blend, blendAmp);
} }
} }
@@ -3,7 +3,6 @@ package com.dfsek.terra.addons.biome.pipeline.config;
import com.dfsek.tectonic.exception.LoadException; import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader; import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader; import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.addons.biome.pipeline.BiomePipelineImpl;
import com.dfsek.terra.addons.biome.pipeline.StandardBiomeProvider; import com.dfsek.terra.addons.biome.pipeline.StandardBiomeProvider;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;