make SeededBuilder use unboxed long

This commit is contained in:
dfsek
2021-07-17 21:50:12 -07:00
parent 3a94c5287c
commit ec28f613d3
38 changed files with 73 additions and 79 deletions
@@ -51,7 +51,7 @@ public class BiomePipelineImpl {
}
public BiomePipelineImpl build(BiomeSource source, long seed) {
List<Stage> stagesBuilt = stages.stream().map(stageBuilder -> stageBuilder.apply(seed)).collect(Collectors.toList());
List<Stage> stagesBuilt = stages.stream().map(stageBuilder -> stageBuilder.build(seed)).collect(Collectors.toList());
for(Stage stage : stagesBuilt) {
if(stage.isExpansion()) expand = expand * 2 - 1;
@@ -32,7 +32,7 @@ public class BiomePipelineTemplate extends BiomeProviderTemplate {
public BiomeProvider build(long seed) {
BiomePipelineImpl.BiomePipelineBuilder biomePipelineBuilder = new BiomePipelineImpl.BiomePipelineBuilder(initialSize);
stages.forEach(biomePipelineBuilder::addStage);
BiomePipelineImpl pipeline = biomePipelineBuilder.build(source.apply(seed), seed);
return new StandardBiomeProvider(pipeline, main, resolution, blend.apply(seed), blendAmp, (int) seed);
BiomePipelineImpl pipeline = biomePipelineBuilder.build(source.build(seed), seed);
return new StandardBiomeProvider(pipeline, main, resolution, blend.build(seed), blendAmp, (int) seed);
}
}
@@ -15,7 +15,7 @@ public class NoiseSourceTemplate extends SourceTemplate {
private ProbabilityCollection<SeededTerraBiome> biomes;
@Override
public BiomeSource apply(Long seed) {
return new RandomSource(biomes.map((biome) -> biome.apply(seed), false), noise.apply(seed));
public BiomeSource build(long seed) {
return new RandomSource(biomes.map((biome) -> biome.build(seed), false), noise.build(seed));
}
}
@@ -7,7 +7,7 @@ import com.dfsek.terra.addons.biome.pipeline.stages.ExpanderStage;
public class ExpanderStageTemplate extends StageTemplate {
@Override
public Stage apply(Long seed) {
return new ExpanderStage(new FractalExpander(noise.apply(seed)));
public Stage build(long seed) {
return new ExpanderStage(new FractalExpander(noise.build(seed)));
}
}
@@ -26,11 +26,11 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator build(long seed) {
public BiomeMutator getMutator(long seed) {
Map<TerraBiome, ProbabilityCollection<TerraBiome>> replaceMap = new HashMap<>();
replace.forEach((keyBuilder, replacements) -> replaceMap.put(keyBuilder.apply(seed), replacements.map(replacement -> replacement.apply(seed), true)));
replace.forEach((keyBuilder, replacements) -> replaceMap.put(keyBuilder.build(seed), replacements.map(replacement -> replacement.build(seed), true)));
return new BorderListMutator(replaceMap, from, defaultReplace, noise.apply(seed), defaultTo.map(biomeBuilder -> biomeBuilder.apply(seed), true));
return new BorderListMutator(replaceMap, from, defaultReplace, noise.build(seed), defaultTo.map(biomeBuilder -> biomeBuilder.build(seed), true));
}
}
@@ -18,7 +18,7 @@ public class BorderMutatorTemplate extends MutatorStageTemplate {
private ProbabilityCollection<SeededTerraBiome> to;
@Override
public BiomeMutator build(long seed) {
return new BorderMutator(from, replace, noise.apply(seed), to.map(biomeBuilder -> biomeBuilder.apply(seed), true));
public BiomeMutator getMutator(long seed) {
return new BorderMutator(from, replace, noise.build(seed), to.map(biomeBuilder -> biomeBuilder.build(seed), true));
}
}
@@ -6,10 +6,10 @@ import com.dfsek.terra.addons.biome.pipeline.config.stage.StageTemplate;
import com.dfsek.terra.addons.biome.pipeline.stages.MutatorStage;
public abstract class MutatorStageTemplate extends StageTemplate {
public abstract BiomeMutator build(long seed);
public abstract BiomeMutator getMutator(long seed);
@Override
public Stage apply(Long seed) {
return new MutatorStage(build(seed));
public Stage build(long seed) {
return new MutatorStage(getMutator(seed));
}
}
@@ -22,11 +22,11 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate {
private Map<SeededTerraBiome, ProbabilityCollection<SeededTerraBiome>> replace;
@Override
public BiomeMutator build(long seed) {
public BiomeMutator getMutator(long seed) {
Map<TerraBiome, ProbabilityCollection<TerraBiome>> replaceMap = new HashMap<>();
replace.forEach((biomeBuilder, biomeBuilders) -> replaceMap.put(biomeBuilder.apply(seed), biomeBuilders.map(builder -> builder.apply(seed), true)));
replace.forEach((biomeBuilder, biomeBuilders) -> replaceMap.put(biomeBuilder.build(seed), biomeBuilders.map(builder -> builder.build(seed), true)));
return new ReplaceListMutator(replaceMap, defaultFrom, defaultTo.map(biomeBuilder -> biomeBuilder.apply(seed), true), noise.apply(seed));
return new ReplaceListMutator(replaceMap, defaultFrom, defaultTo.map(biomeBuilder -> biomeBuilder.build(seed), true), noise.build(seed));
}
}
@@ -15,7 +15,7 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate {
private ProbabilityCollection<SeededTerraBiome> to;
@Override
public BiomeMutator build(long seed) {
return new ReplaceMutator(from, to.map(biomeBuilder -> biomeBuilder.apply(seed), true), noise.apply(seed));
public BiomeMutator getMutator(long seed) {
return new ReplaceMutator(from, to.map(biomeBuilder -> biomeBuilder.build(seed), true), noise.build(seed));
}
}
@@ -5,7 +5,7 @@ import com.dfsek.terra.addons.biome.pipeline.mutator.SmoothMutator;
public class SmoothMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator build(long seed) {
return new SmoothMutator(noise.apply(seed));
public BiomeMutator getMutator(long seed) {
return new SmoothMutator(noise.build(seed));
}
}