From 733b9fab4bfa3ff0bb9a6a1e322cc9d8444f20d0 Mon Sep 17 00:00:00 2001 From: dfsek Date: Mon, 14 Jun 2021 18:06:22 -0700 Subject: [PATCH] biome source meta-fication --- .../terra/api/util/collections/ProbabilityCollection.java | 4 ++++ .../biome/templates/source/NoiseSourceTemplate.java | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/common/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java b/common/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java index f9ec64992..7907482b7 100644 --- a/common/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java +++ b/common/src/main/java/com/dfsek/terra/api/util/collections/ProbabilityCollection.java @@ -58,6 +58,10 @@ public class ProbabilityCollection implements Collection { return newCollection; } + public ProbabilityCollection map(Function mapper) { + return map(mapper, true); + } + public int getTotalProbability() { return array.length; } diff --git a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java index 7df6255d0..3a88ff78a 100644 --- a/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java +++ b/common/src/main/java/com/dfsek/terra/config/loaders/config/biome/templates/source/NoiseSourceTemplate.java @@ -1,21 +1,23 @@ package com.dfsek.terra.config.loaders.config.biome.templates.source; 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.util.seeded.NoiseSeeded; import com.dfsek.terra.api.world.biome.pipeline.source.BiomeSource; import com.dfsek.terra.api.world.biome.pipeline.source.RandomSource; import com.dfsek.terra.config.builder.BiomeBuilder; +@SuppressWarnings("unused") public class NoiseSourceTemplate extends SourceTemplate { @Value("noise") - private NoiseSeeded noise; + private MetaValue noise; @Value("biomes") - private ProbabilityCollection biomes; + private ProbabilityCollection> biomes; @Override public BiomeSource apply(Long seed) { - return new RandomSource(biomes.map((biome) -> biome.apply(seed), false), noise.apply(seed)); + return new RandomSource(biomes.map((biome) -> biome.get().apply(seed), false), noise.get().apply(seed)); } }