biome cleanup

This commit is contained in:
dfsek
2021-01-26 21:50:56 -07:00
parent 82fa9abe15
commit f6967be95f
31 changed files with 414 additions and 30 deletions
@@ -4,13 +4,14 @@ import com.dfsek.tectonic.exception.LoadException;
import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.core.TerraPlugin;
import com.dfsek.terra.biome.BiomeProvider;
import com.dfsek.terra.biome.ImageBiomeProvider;
import com.dfsek.terra.biome.StandardBiomeProvider;
import com.dfsek.terra.biome.TerraBiome;
import com.dfsek.terra.biome.pipeline.BiomePipeline;
import com.dfsek.terra.biome.pipeline.source.BiomeSource;
import com.dfsek.terra.biome.pipeline.stages.SeededBuilder;
import com.dfsek.terra.biome.provider.BiomeProvider;
import com.dfsek.terra.biome.provider.ImageBiomeProvider;
import com.dfsek.terra.biome.provider.SingleBiomeProvider;
import com.dfsek.terra.biome.provider.StandardBiomeProvider;
import com.dfsek.terra.config.fileloaders.Loader;
import com.dfsek.terra.config.loaders.config.NoiseBuilderLoader;
import com.dfsek.terra.registry.TerraRegistry;
@@ -86,6 +87,14 @@ public class BiomeProviderBuilderLoader implements TypeLoader<BiomeProvider.Biom
} catch(IOException e) {
throw new LoadException("Failed to load image", e);
}
} else if(map.get("type").equals("SINGLE")) {
return seed -> {
try {
return new SingleBiomeProvider((TerraBiome) loader.loadType(TerraBiome.class, map.get("biome")));
} catch(LoadException e) {
throw new RuntimeException(e);
}
};
}
throw new LoadException("No such biome provider type: " + map.get("type"));
@@ -12,8 +12,8 @@ import com.dfsek.terra.api.structures.script.StructureScript;
import com.dfsek.terra.api.world.flora.Flora;
import com.dfsek.terra.api.world.palette.Palette;
import com.dfsek.terra.api.world.tree.Tree;
import com.dfsek.terra.biome.BiomeProvider;
import com.dfsek.terra.biome.TerraBiome;
import com.dfsek.terra.biome.provider.BiomeProvider;
import com.dfsek.terra.config.exception.FileMissingException;
import com.dfsek.terra.config.factories.BiomeFactory;
import com.dfsek.terra.config.factories.FloraFactory;
@@ -3,7 +3,7 @@ package com.dfsek.terra.config.pack;
import com.dfsek.tectonic.annotations.Default;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.config.ConfigTemplate;
import com.dfsek.terra.biome.BiomeProvider;
import com.dfsek.terra.biome.provider.BiomeProvider;
import com.dfsek.terra.world.generation.config.NoiseBuilder;
import java.util.HashMap;