mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 14:21:08 +00:00
BiomeBuilder -> SeededTerraBiome
This commit is contained in:
+3
-3
@@ -2,14 +2,14 @@ package com.dfsek.terra.addons.biome.image;
|
|||||||
|
|
||||||
import com.dfsek.tectonic.annotations.Value;
|
import com.dfsek.tectonic.annotations.Value;
|
||||||
import com.dfsek.terra.api.registry.Registry;
|
import com.dfsek.terra.api.registry.Registry;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
public class ImageProviderTemplate /*extends BiomeProviderTemplate */ {
|
public class ImageProviderTemplate /*extends BiomeProviderTemplate */ {
|
||||||
private final Registry<BiomeBuilder> biomes;
|
private final Registry<SeededTerraBiome> biomes;
|
||||||
@Value("image.name")
|
@Value("image.name")
|
||||||
private BufferedImage image;
|
private BufferedImage image;
|
||||||
|
|
||||||
@@ -18,7 +18,7 @@ public class ImageProviderTemplate /*extends BiomeProviderTemplate */ {
|
|||||||
|
|
||||||
private int resolution;
|
private int resolution;
|
||||||
|
|
||||||
public ImageProviderTemplate(Registry<BiomeBuilder> set) {
|
public ImageProviderTemplate(Registry<SeededTerraBiome> set) {
|
||||||
this.biomes = set;
|
this.biomes = set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -3,7 +3,7 @@ package com.dfsek.terra.addons.biome.pipeline.config;
|
|||||||
import com.dfsek.tectonic.annotations.Value;
|
import com.dfsek.tectonic.annotations.Value;
|
||||||
import com.dfsek.terra.addons.biome.pipeline.source.RandomSource;
|
import com.dfsek.terra.addons.biome.pipeline.source.RandomSource;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
|
import com.dfsek.terra.api.util.seeded.SeededNoiseSampler;
|
||||||
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
import com.dfsek.terra.api.world.biome.generation.pipeline.BiomeSource;
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ public class NoiseSourceTemplate extends SourceTemplate {
|
|||||||
private SeededNoiseSampler noise;
|
private SeededNoiseSampler noise;
|
||||||
|
|
||||||
@Value("biomes")
|
@Value("biomes")
|
||||||
private ProbabilityCollection<BiomeBuilder> biomes;
|
private ProbabilityCollection<SeededTerraBiome> biomes;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeSource apply(Long seed) {
|
public BiomeSource apply(Long seed) {
|
||||||
|
|||||||
+3
-3
@@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value;
|
|||||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
||||||
import com.dfsek.terra.addons.biome.pipeline.mutator.BorderListMutator;
|
import com.dfsek.terra.addons.biome.pipeline.mutator.BorderListMutator;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -19,10 +19,10 @@ public class BorderListMutatorTemplate extends MutatorStageTemplate {
|
|||||||
private String defaultReplace;
|
private String defaultReplace;
|
||||||
|
|
||||||
@Value("default-to")
|
@Value("default-to")
|
||||||
private ProbabilityCollection<BiomeBuilder> defaultTo;
|
private ProbabilityCollection<SeededTerraBiome> defaultTo;
|
||||||
|
|
||||||
@Value("replace")
|
@Value("replace")
|
||||||
private Map<BiomeBuilder, ProbabilityCollection<BiomeBuilder>> replace;
|
private Map<SeededTerraBiome, ProbabilityCollection<SeededTerraBiome>> replace;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+2
-2
@@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value;
|
|||||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
||||||
import com.dfsek.terra.addons.biome.pipeline.mutator.BorderMutator;
|
import com.dfsek.terra.addons.biome.pipeline.mutator.BorderMutator;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class BorderMutatorTemplate extends MutatorStageTemplate {
|
public class BorderMutatorTemplate extends MutatorStageTemplate {
|
||||||
@@ -15,7 +15,7 @@ public class BorderMutatorTemplate extends MutatorStageTemplate {
|
|||||||
private String replace;
|
private String replace;
|
||||||
|
|
||||||
@Value("to")
|
@Value("to")
|
||||||
private ProbabilityCollection<BiomeBuilder> to;
|
private ProbabilityCollection<SeededTerraBiome> to;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeMutator build(long seed) {
|
public BiomeMutator build(long seed) {
|
||||||
|
|||||||
+3
-3
@@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value;
|
|||||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
||||||
import com.dfsek.terra.addons.biome.pipeline.mutator.ReplaceListMutator;
|
import com.dfsek.terra.addons.biome.pipeline.mutator.ReplaceListMutator;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -16,10 +16,10 @@ public class ReplaceListMutatorTemplate extends MutatorStageTemplate {
|
|||||||
private String defaultFrom;
|
private String defaultFrom;
|
||||||
|
|
||||||
@Value("default-to")
|
@Value("default-to")
|
||||||
private ProbabilityCollection<BiomeBuilder> defaultTo;
|
private ProbabilityCollection<SeededTerraBiome> defaultTo;
|
||||||
|
|
||||||
@Value("to")
|
@Value("to")
|
||||||
private Map<BiomeBuilder, ProbabilityCollection<BiomeBuilder>> replace;
|
private Map<SeededTerraBiome, ProbabilityCollection<SeededTerraBiome>> replace;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeMutator build(long seed) {
|
public BiomeMutator build(long seed) {
|
||||||
|
|||||||
+2
-2
@@ -4,7 +4,7 @@ import com.dfsek.tectonic.annotations.Value;
|
|||||||
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
import com.dfsek.terra.addons.biome.pipeline.api.BiomeMutator;
|
||||||
import com.dfsek.terra.addons.biome.pipeline.mutator.ReplaceMutator;
|
import com.dfsek.terra.addons.biome.pipeline.mutator.ReplaceMutator;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
|
|
||||||
@SuppressWarnings("unused")
|
@SuppressWarnings("unused")
|
||||||
public class ReplaceMutatorTemplate extends MutatorStageTemplate {
|
public class ReplaceMutatorTemplate extends MutatorStageTemplate {
|
||||||
@@ -12,7 +12,7 @@ public class ReplaceMutatorTemplate extends MutatorStageTemplate {
|
|||||||
private String from;
|
private String from;
|
||||||
|
|
||||||
@Value("to")
|
@Value("to")
|
||||||
private ProbabilityCollection<BiomeBuilder> to;
|
private ProbabilityCollection<SeededTerraBiome> to;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeMutator build(long seed) {
|
public BiomeMutator build(long seed) {
|
||||||
|
|||||||
+2
-2
@@ -2,13 +2,13 @@ package com.dfsek.terra.addons.biome.single;
|
|||||||
|
|
||||||
import com.dfsek.tectonic.annotations.Value;
|
import com.dfsek.tectonic.annotations.Value;
|
||||||
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
import com.dfsek.tectonic.loading.object.ObjectTemplate;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||||
|
|
||||||
public class SingleBiomeProviderTemplate implements ObjectTemplate<BiomeProviderBuilder>, BiomeProviderBuilder {
|
public class SingleBiomeProviderTemplate implements ObjectTemplate<BiomeProviderBuilder>, BiomeProviderBuilder {
|
||||||
@Value("biome")
|
@Value("biome")
|
||||||
private BiomeBuilder biome;
|
private SeededTerraBiome biome;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeProvider build(long seed) {
|
public BiomeProvider build(long seed) {
|
||||||
|
|||||||
+3
-3
@@ -15,7 +15,7 @@ import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
|
|||||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
||||||
|
|
||||||
@Addon("chunk-generator-noise-3d")
|
@Addon("chunk-generator-noise-3d")
|
||||||
@@ -37,8 +37,8 @@ public class NoiseChunkGenerator3DAddon extends TerraAddon implements EventListe
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
||||||
if(event.is(BiomeBuilder.class)) {
|
if(event.is(SeededTerraBiome.class)) {
|
||||||
event.getLoadedObject(BiomeBuilder.class).getContext().put(event.load(new BiomePaletteTemplate()).get());
|
event.getLoadedObject(SeededTerraBiome.class).getContext().put(event.load(new BiomePaletteTemplate()).get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-8
@@ -7,11 +7,11 @@ import com.dfsek.terra.api.config.ConfigFactory;
|
|||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.config.ConfigType;
|
import com.dfsek.terra.api.config.ConfigType;
|
||||||
import com.dfsek.terra.api.registry.OpenRegistry;
|
import com.dfsek.terra.api.registry.OpenRegistry;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
|
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
|
|
||||||
public class BiomeConfigType implements ConfigType<BiomeTemplate, BiomeBuilder> {
|
public class BiomeConfigType implements ConfigType<BiomeTemplate, SeededTerraBiome> {
|
||||||
private final ConfigPack pack;
|
private final ConfigPack pack;
|
||||||
private final BiomeFactory factory;
|
private final BiomeFactory factory;
|
||||||
|
|
||||||
@@ -26,20 +26,20 @@ public class BiomeConfigType implements ConfigType<BiomeTemplate, BiomeBuilder>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ConfigFactory<BiomeTemplate, BiomeBuilder> getFactory() {
|
public ConfigFactory<BiomeTemplate, SeededTerraBiome> getFactory() {
|
||||||
return factory;
|
return factory;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Class<BiomeBuilder> getTypeClass() {
|
public Class<SeededTerraBiome> getTypeClass() {
|
||||||
return BiomeBuilder.class;
|
return SeededTerraBiome.class;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Supplier<OpenRegistry<BiomeBuilder>> registrySupplier() {
|
public Supplier<OpenRegistry<SeededTerraBiome>> registrySupplier() {
|
||||||
return () -> pack.getRegistryFactory().create(registry -> (TypeLoader<BiomeBuilder>) (t, c, loader) -> {
|
return () -> pack.getRegistryFactory().create(registry -> (TypeLoader<SeededTerraBiome>) (t, c, loader) -> {
|
||||||
if(c.equals("SELF")) return null;
|
if(c.equals("SELF")) return null;
|
||||||
BiomeBuilder obj = registry.get((String) c);
|
SeededTerraBiome obj = registry.get((String) c);
|
||||||
if(obj == null)
|
if(obj == null)
|
||||||
throw new LoadException("No such " + t.getType().getTypeName() + " matching \"" + c + "\" was found in this registry.");
|
throw new LoadException("No such " + t.getType().getTypeName() + " matching \"" + c + "\" was found in this registry.");
|
||||||
return obj;
|
return obj;
|
||||||
|
|||||||
+4
-4
@@ -3,9 +3,9 @@ package com.dfsek.terra.addons.biome;
|
|||||||
import com.dfsek.terra.api.TerraPlugin;
|
import com.dfsek.terra.api.TerraPlugin;
|
||||||
import com.dfsek.terra.api.config.ConfigFactory;
|
import com.dfsek.terra.api.config.ConfigFactory;
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
|
|
||||||
public class BiomeFactory implements ConfigFactory<BiomeTemplate, BiomeBuilder> {
|
public class BiomeFactory implements ConfigFactory<BiomeTemplate, SeededTerraBiome> {
|
||||||
private final ConfigPack pack;
|
private final ConfigPack pack;
|
||||||
|
|
||||||
public BiomeFactory(ConfigPack pack) {
|
public BiomeFactory(ConfigPack pack) {
|
||||||
@@ -13,7 +13,7 @@ public class BiomeFactory implements ConfigFactory<BiomeTemplate, BiomeBuilder>
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BiomeBuilder build(BiomeTemplate template, TerraPlugin main) {
|
public SeededTerraBiome build(BiomeTemplate template, TerraPlugin main) {
|
||||||
return new UserDefinedBiomeBuilder(template);
|
return new UserDefinedSeededTerraBiome(template);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -2,19 +2,19 @@ package com.dfsek.terra.addons.biome;
|
|||||||
|
|
||||||
import com.dfsek.terra.api.properties.Context;
|
import com.dfsek.terra.api.properties.Context;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.biome.Biome;
|
import com.dfsek.terra.api.world.biome.Biome;
|
||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
public class UserDefinedBiomeBuilder implements BiomeBuilder {
|
public class UserDefinedSeededTerraBiome implements SeededTerraBiome {
|
||||||
private final BiomeTemplate template;
|
private final BiomeTemplate template;
|
||||||
private final Context context = new Context();
|
private final Context context = new Context();
|
||||||
|
|
||||||
private final Map<Long, UserDefinedBiome> biomeMap = new ConcurrentHashMap<>();
|
private final Map<Long, UserDefinedBiome> biomeMap = new ConcurrentHashMap<>();
|
||||||
|
|
||||||
public UserDefinedBiomeBuilder(BiomeTemplate template) {
|
public UserDefinedSeededTerraBiome(BiomeTemplate template) {
|
||||||
this.template = template;
|
this.template = template;
|
||||||
}
|
}
|
||||||
|
|
||||||
+3
-3
@@ -10,7 +10,7 @@ import com.dfsek.terra.api.event.EventListener;
|
|||||||
import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
|
import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
|
||||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
||||||
|
|
||||||
@Addon("generation-stage-feature")
|
@Addon("generation-stage-feature")
|
||||||
@@ -30,8 +30,8 @@ public class FeatureGenerationAddon extends TerraAddon implements EventListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
||||||
if(BiomeBuilder.class.isAssignableFrom(event.getType().getTypeClass())) {
|
if(SeededTerraBiome.class.isAssignableFrom(event.getType().getTypeClass())) {
|
||||||
event.getLoadedObject(BiomeBuilder.class).getContext().put(event.load(new BiomeFeaturesTemplate()).get());
|
event.getLoadedObject(SeededTerraBiome.class).getContext().put(event.load(new BiomeFeaturesTemplate()).get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -9,7 +9,7 @@ import com.dfsek.terra.api.event.EventListener;
|
|||||||
import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
|
import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
|
||||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
||||||
|
|
||||||
@Addon("generation-stage-flora")
|
@Addon("generation-stage-flora")
|
||||||
@@ -31,8 +31,8 @@ public class FloraGenerationAddon extends TerraAddon implements EventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
||||||
if(BiomeBuilder.class.isAssignableFrom(event.getType().getTypeClass())) {
|
if(SeededTerraBiome.class.isAssignableFrom(event.getType().getTypeClass())) {
|
||||||
event.getLoadedObject(BiomeBuilder.class).getContext().put(event.load(new BiomeFloraTemplate()).get());
|
event.getLoadedObject(SeededTerraBiome.class).getContext().put(event.load(new BiomeFloraTemplate()).get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+3
-3
@@ -10,7 +10,7 @@ import com.dfsek.terra.api.event.events.config.ConfigurationLoadEvent;
|
|||||||
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
import com.dfsek.terra.api.event.events.config.pack.ConfigPackPreLoadEvent;
|
||||||
import com.dfsek.terra.api.injection.annotations.Inject;
|
import com.dfsek.terra.api.injection.annotations.Inject;
|
||||||
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
||||||
|
|
||||||
@Addon("generation-stage-tree")
|
@Addon("generation-stage-tree")
|
||||||
@@ -31,8 +31,8 @@ public class TreeGenerationAddon extends TerraAddon implements EventListener {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
public void onBiomeLoad(ConfigurationLoadEvent event) {
|
||||||
if(BiomeBuilder.class.isAssignableFrom(event.getType().getTypeClass())) {
|
if(SeededTerraBiome.class.isAssignableFrom(event.getType().getTypeClass())) {
|
||||||
event.getLoadedObject(BiomeBuilder.class).getContext().put(event.load(new BiomeTreeTemplate()).get());
|
event.getLoadedObject(SeededTerraBiome.class).getContext().put(event.load(new BiomeTreeTemplate()).get());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -7,6 +7,6 @@ import com.dfsek.terra.api.world.biome.Biome;
|
|||||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||||
|
|
||||||
@Linked(TerraBiome.class)
|
@Linked(TerraBiome.class)
|
||||||
public interface BiomeBuilder extends SeededBuilder<TerraBiome>, PropertyHolder {
|
public interface SeededTerraBiome extends SeededBuilder<TerraBiome>, PropertyHolder {
|
||||||
ProbabilityCollection<Biome> getVanillaBiomes();
|
ProbabilityCollection<Biome> getVanillaBiomes();
|
||||||
}
|
}
|
||||||
@@ -4,7 +4,7 @@ package com.dfsek.terra.api.world.biome;
|
|||||||
import com.dfsek.terra.api.properties.PropertyHolder;
|
import com.dfsek.terra.api.properties.PropertyHolder;
|
||||||
import com.dfsek.terra.api.properties.annotations.Linked;
|
import com.dfsek.terra.api.properties.annotations.Linked;
|
||||||
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
import com.dfsek.terra.api.util.collection.ProbabilityCollection;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.World;
|
import com.dfsek.terra.api.world.World;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@@ -12,7 +12,7 @@ import java.util.Set;
|
|||||||
/**
|
/**
|
||||||
* Represents a custom biome
|
* Represents a custom biome
|
||||||
*/
|
*/
|
||||||
@Linked(BiomeBuilder.class)
|
@Linked(SeededTerraBiome.class)
|
||||||
public interface TerraBiome extends PropertyHolder {
|
public interface TerraBiome extends PropertyHolder {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
+2
-8
@@ -4,22 +4,16 @@ import com.dfsek.terra.api.TerraPlugin;
|
|||||||
import com.dfsek.terra.api.config.WorldConfig;
|
import com.dfsek.terra.api.config.WorldConfig;
|
||||||
import com.dfsek.terra.api.registry.OpenRegistry;
|
import com.dfsek.terra.api.registry.OpenRegistry;
|
||||||
import com.dfsek.terra.api.registry.Registry;
|
import com.dfsek.terra.api.registry.Registry;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.TerraWorld;
|
import com.dfsek.terra.api.world.TerraWorld;
|
||||||
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.dfsek.terra.api.world.generator.GenerationStage;
|
|
||||||
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
|
||||||
import com.dfsek.terra.api.world.generator.SamplerCache;
|
import com.dfsek.terra.api.world.generator.SamplerCache;
|
||||||
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
|
|
||||||
import com.dfsek.terra.registry.LockedRegistryImpl;
|
import com.dfsek.terra.registry.LockedRegistryImpl;
|
||||||
import com.dfsek.terra.registry.OpenRegistryImpl;
|
import com.dfsek.terra.registry.OpenRegistryImpl;
|
||||||
import com.dfsek.terra.world.SamplerCacheImpl;
|
import com.dfsek.terra.world.SamplerCacheImpl;
|
||||||
import com.google.common.collect.ImmutableList;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
public class WorldConfigImpl implements WorldConfig {
|
public class WorldConfigImpl implements WorldConfig {
|
||||||
@@ -40,7 +34,7 @@ public class WorldConfigImpl implements WorldConfig {
|
|||||||
pack.getRegistryMap().forEach((clazz, pair) -> registryMap.put(clazz, new LockedRegistryImpl<>(pair.getLeft())));
|
pack.getRegistryMap().forEach((clazz, pair) -> registryMap.put(clazz, new LockedRegistryImpl<>(pair.getLeft())));
|
||||||
|
|
||||||
OpenRegistry<TerraBiome> biomeOpenRegistry = new OpenRegistryImpl<>();
|
OpenRegistry<TerraBiome> biomeOpenRegistry = new OpenRegistryImpl<>();
|
||||||
pack.getCheckedRegistry(BiomeBuilder.class).forEach((id, biome) -> biomeOpenRegistry.register(id, biome.apply(world.getWorld().getSeed())));
|
pack.getCheckedRegistry(SeededTerraBiome.class).forEach((id, biome) -> biomeOpenRegistry.register(id, biome.apply(world.getWorld().getSeed())));
|
||||||
registryMap.put(TerraBiome.class, new LockedRegistryImpl<>(biomeOpenRegistry));
|
registryMap.put(TerraBiome.class, new LockedRegistryImpl<>(biomeOpenRegistry));
|
||||||
|
|
||||||
this.provider = pack.getBiomeProviderBuilder().build(world.getWorld().getSeed());
|
this.provider = pack.getBiomeProviderBuilder().build(world.getWorld().getSeed());
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ import com.dfsek.terra.api.profiler.Profiler;
|
|||||||
import com.dfsek.terra.api.registry.CheckedRegistry;
|
import com.dfsek.terra.api.registry.CheckedRegistry;
|
||||||
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
|
||||||
import com.dfsek.terra.api.util.generic.pair.Pair;
|
import com.dfsek.terra.api.util.generic.pair.Pair;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.api.world.TerraWorld;
|
import com.dfsek.terra.api.world.TerraWorld;
|
||||||
import com.dfsek.terra.api.world.Tree;
|
import com.dfsek.terra.api.world.Tree;
|
||||||
import com.dfsek.terra.api.world.World;
|
import com.dfsek.terra.api.world.World;
|
||||||
@@ -364,7 +364,7 @@ public class TerraFabricPlugin implements TerraPlugin, ModInitializer {
|
|||||||
public void injectBiomes(BiomeRegistrationEvent event) {
|
public void injectBiomes(BiomeRegistrationEvent event) {
|
||||||
logger.info("Registering biomes...");
|
logger.info("Registering biomes...");
|
||||||
Registry<Biome> biomeRegistry = event.getRegistryManager().get(Registry.BIOME_KEY);
|
Registry<Biome> biomeRegistry = event.getRegistryManager().get(Registry.BIOME_KEY);
|
||||||
configRegistry.forEach(pack -> pack.getCheckedRegistry(BiomeBuilder.class).forEach((id, biome) -> FabricUtil.registerOrOverwrite(biomeRegistry, Registry.BIOME_KEY, new Identifier("terra", FabricUtil.createBiomeID(pack, id)), FabricUtil.createBiome(biome, pack, event.getRegistryManager())))); // Register all Terra biomes.
|
configRegistry.forEach(pack -> pack.getCheckedRegistry(SeededTerraBiome.class).forEach((id, biome) -> FabricUtil.registerOrOverwrite(biomeRegistry, Registry.BIOME_KEY, new Identifier("terra", FabricUtil.createBiomeID(pack, id)), FabricUtil.createBiome(biome, pack, event.getRegistryManager())))); // Register all Terra biomes.
|
||||||
logger.info("Biomes registered.");
|
logger.info("Biomes registered.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -3,7 +3,7 @@ package com.dfsek.terra.fabric.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.tectonic.config.ConfigTemplate;
|
import com.dfsek.tectonic.config.ConfigTemplate;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@@ -14,17 +14,17 @@ import java.util.Set;
|
|||||||
public class PostLoadCompatibilityOptions implements ConfigTemplate {
|
public class PostLoadCompatibilityOptions implements ConfigTemplate {
|
||||||
@Value("structures.inject-biome.exclude-biomes")
|
@Value("structures.inject-biome.exclude-biomes")
|
||||||
@Default
|
@Default
|
||||||
private Map<BiomeBuilder, Set<Identifier>> excludedPerBiomeStructures = new HashMap<>();
|
private Map<SeededTerraBiome, Set<Identifier>> excludedPerBiomeStructures = new HashMap<>();
|
||||||
|
|
||||||
@Value("features.inject-biome.exclude-biomes")
|
@Value("features.inject-biome.exclude-biomes")
|
||||||
@Default
|
@Default
|
||||||
private Map<BiomeBuilder, Set<Identifier>> excludedPerBiomeFeatures = new HashMap<>();
|
private Map<SeededTerraBiome, Set<Identifier>> excludedPerBiomeFeatures = new HashMap<>();
|
||||||
|
|
||||||
public Map<BiomeBuilder, Set<Identifier>> getExcludedPerBiomeFeatures() {
|
public Map<SeededTerraBiome, Set<Identifier>> getExcludedPerBiomeFeatures() {
|
||||||
return excludedPerBiomeFeatures;
|
return excludedPerBiomeFeatures;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<BiomeBuilder, Set<Identifier>> getExcludedPerBiomeStructures() {
|
public Map<SeededTerraBiome, Set<Identifier>> getExcludedPerBiomeStructures() {
|
||||||
return excludedPerBiomeStructures;
|
return excludedPerBiomeStructures;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import com.dfsek.terra.api.block.entity.Container;
|
|||||||
import com.dfsek.terra.api.block.entity.MobSpawner;
|
import com.dfsek.terra.api.block.entity.MobSpawner;
|
||||||
import com.dfsek.terra.api.block.entity.Sign;
|
import com.dfsek.terra.api.block.entity.Sign;
|
||||||
import com.dfsek.terra.api.config.ConfigPack;
|
import com.dfsek.terra.api.config.ConfigPack;
|
||||||
import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
import com.dfsek.terra.api.util.seeded.SeededTerraBiome;
|
||||||
import com.dfsek.terra.fabric.TerraFabricPlugin;
|
import com.dfsek.terra.fabric.TerraFabricPlugin;
|
||||||
import com.dfsek.terra.fabric.mixin.access.BiomeEffectsAccessor;
|
import com.dfsek.terra.fabric.mixin.access.BiomeEffectsAccessor;
|
||||||
import com.mojang.serialization.Lifecycle;
|
import com.mojang.serialization.Lifecycle;
|
||||||
@@ -43,7 +43,7 @@ public final class FabricUtil {
|
|||||||
* @param pack The ConfigPack this biome belongs to.
|
* @param pack The ConfigPack this biome belongs to.
|
||||||
* @return The Minecraft delegate biome.
|
* @return The Minecraft delegate biome.
|
||||||
*/
|
*/
|
||||||
public static Biome createBiome(BiomeBuilder biome, ConfigPack pack, DynamicRegistryManager registryManager) {
|
public static Biome createBiome(SeededTerraBiome biome, ConfigPack pack, DynamicRegistryManager registryManager) {
|
||||||
// BiomeTemplate template = biome.getTemplate();
|
// BiomeTemplate template = biome.getTemplate();
|
||||||
Map<String, Integer> colors = new HashMap<>(); // template.getColors();
|
Map<String, Integer> colors = new HashMap<>(); // template.getColors();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user