mutator meta

This commit is contained in:
dfsek
2021-06-14 19:15:52 -07:00
parent 7473119238
commit 2010c48664
5 changed files with 23 additions and 19 deletions

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator;
@@ -13,24 +14,24 @@ import java.util.Map;
@SuppressWarnings("unused")
public class BorderListMutatorTemplate extends MutatorStageTemplate {
@Value("from")
private String from;
private MetaValue<String> from;
@Value("default-replace")
private String defaultReplace;
private MetaValue<String> defaultReplace;
@Value("default-to")
private ProbabilityCollection<BiomeBuilder> defaultTo;
private ProbabilityCollection<MetaValue<BiomeBuilder>> defaultTo;
@Value("replace")
private Map<BiomeBuilder, ProbabilityCollection<BiomeBuilder>> replace;
private Map<BiomeBuilder, ProbabilityCollection<MetaValue<BiomeBuilder>>> replace;
@Override
public BiomeMutator build(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.apply(seed), replacements.map(replacement -> replacement.get().apply(seed), true)));
return new BorderListMutator(replaceMap, from, defaultReplace, noise.get().apply(seed), defaultTo.map(biomeBuilder -> biomeBuilder.apply(seed), true));
return new BorderListMutator(replaceMap, from.get(), defaultReplace.get(), noise.get().apply(seed), defaultTo.map(biomeBuilder -> biomeBuilder.get().apply(seed), true));
}
}

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator;
import com.dfsek.terra.api.world.biome.pipeline.mutator.BorderMutator;
@@ -9,16 +10,16 @@ import com.dfsek.terra.config.builder.BiomeBuilder;
@SuppressWarnings("unused")
public class BorderMutatorTemplate extends MutatorStageTemplate {
@Value("from")
private String from;
private MetaValue<String> from;
@Value("replace")
private String replace;
private MetaValue<String> replace;
@Value("to")
private ProbabilityCollection<BiomeBuilder> to;
private ProbabilityCollection<MetaValue<BiomeBuilder>> to;
@Override
public BiomeMutator build(long seed) {
return new BorderMutator(from, replace, noise.apply(seed), to.map(biomeBuilder -> biomeBuilder.apply(seed), true));
return new BorderMutator(from.get(), replace.get(), noise.get().apply(seed), to.map(biomeBuilder -> biomeBuilder.get().apply(seed), true));
}
}

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator;
@@ -13,20 +14,20 @@ import java.util.Map;
@SuppressWarnings("unused")
public class ReplaceListMutatorTemplate extends MutatorStageTemplate {
@Value("default-from")
private String defaultFrom;
private MetaValue<String> defaultFrom;
@Value("default-to")
private ProbabilityCollection<BiomeBuilder> defaultTo;
private ProbabilityCollection<MetaValue<BiomeBuilder>> defaultTo;
@Value("to")
private Map<BiomeBuilder, ProbabilityCollection<BiomeBuilder>> replace;
private Map<BiomeBuilder, ProbabilityCollection<MetaValue<BiomeBuilder>>> replace;
@Override
public BiomeMutator build(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.apply(seed), biomeBuilders.map(builder -> builder.get().apply(seed), true)));
return new ReplaceListMutator(replaceMap, defaultFrom, defaultTo.map(biomeBuilder -> biomeBuilder.apply(seed), true), noise.apply(seed));
return new ReplaceListMutator(replaceMap, defaultFrom.get(), defaultTo.map(biomeBuilder -> biomeBuilder.get().apply(seed), true), noise.get().apply(seed));
}
}

View File

@@ -1,6 +1,7 @@
package com.dfsek.terra.config.loaders.config.biome.templates.stage.mutator;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.util.collections.ProbabilityCollection;
import com.dfsek.terra.api.world.biome.pipeline.mutator.BiomeMutator;
import com.dfsek.terra.api.world.biome.pipeline.mutator.ReplaceMutator;
@@ -9,13 +10,13 @@ import com.dfsek.terra.config.builder.BiomeBuilder;
@SuppressWarnings("unused")
public class ReplaceMutatorTemplate extends MutatorStageTemplate {
@Value("from")
private String from;
private MetaValue<String> from;
@Value("to")
private ProbabilityCollection<BiomeBuilder> to;
private ProbabilityCollection<MetaValue<BiomeBuilder>> to;
@Override
public BiomeMutator build(long seed) {
return new ReplaceMutator(from, to.map(biomeBuilder -> biomeBuilder.apply(seed), true), noise.apply(seed));
return new ReplaceMutator(from.get(), to.map(biomeBuilder -> biomeBuilder.get().apply(seed), true), noise.get().apply(seed));
}
}

View File

@@ -6,6 +6,6 @@ import com.dfsek.terra.api.world.biome.pipeline.mutator.SmoothMutator;
public class SmoothMutatorTemplate extends MutatorStageTemplate {
@Override
public BiomeMutator build(long seed) {
return new SmoothMutator(noise.apply(seed));
return new SmoothMutator(noise.get().apply(seed));
}
}