mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-20 23:30:29 +00:00
More loading stuff
This commit is contained in:
Binary file not shown.
@@ -5,9 +5,6 @@ import com.dfsek.tectonic.exception.ConfigException;
|
|||||||
import com.dfsek.tectonic.loading.ConfigLoader;
|
import com.dfsek.tectonic.loading.ConfigLoader;
|
||||||
import com.dfsek.terra.Debug;
|
import com.dfsek.terra.Debug;
|
||||||
import com.dfsek.terra.biome.UserDefinedBiome;
|
import com.dfsek.terra.biome.UserDefinedBiome;
|
||||||
import com.dfsek.terra.biome.palette.PaletteHolder;
|
|
||||||
import com.dfsek.terra.biome.palette.PaletteLayer;
|
|
||||||
import com.dfsek.terra.carving.CarverPalette;
|
|
||||||
import com.dfsek.terra.carving.UserDefinedCarver;
|
import com.dfsek.terra.carving.UserDefinedCarver;
|
||||||
import com.dfsek.terra.config.builder.BiomeGridBuilder;
|
import com.dfsek.terra.config.builder.BiomeGridBuilder;
|
||||||
import com.dfsek.terra.config.exception.FileMissingException;
|
import com.dfsek.terra.config.exception.FileMissingException;
|
||||||
@@ -16,28 +13,19 @@ import com.dfsek.terra.config.factories.BiomeGridFactory;
|
|||||||
import com.dfsek.terra.config.factories.CarverFactory;
|
import com.dfsek.terra.config.factories.CarverFactory;
|
||||||
import com.dfsek.terra.config.factories.PaletteFactory;
|
import com.dfsek.terra.config.factories.PaletteFactory;
|
||||||
import com.dfsek.terra.config.lang.LangUtil;
|
import com.dfsek.terra.config.lang.LangUtil;
|
||||||
import com.dfsek.terra.config.loaders.GridSpawnLoader;
|
|
||||||
import com.dfsek.terra.config.loaders.NoiseBuilderLoader;
|
import com.dfsek.terra.config.loaders.NoiseBuilderLoader;
|
||||||
import com.dfsek.terra.config.loaders.PaletteHolderLoader;
|
|
||||||
import com.dfsek.terra.config.loaders.PaletteLayerLoader;
|
|
||||||
import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader;
|
|
||||||
import com.dfsek.terra.config.loaders.RangeLoader;
|
|
||||||
import com.dfsek.terra.config.loaders.base.CarverPaletteLoader;
|
|
||||||
import com.dfsek.terra.config.templates.BiomeGridTemplate;
|
import com.dfsek.terra.config.templates.BiomeGridTemplate;
|
||||||
import com.dfsek.terra.config.templates.BiomeTemplate;
|
import com.dfsek.terra.config.templates.BiomeTemplate;
|
||||||
import com.dfsek.terra.config.templates.CarverTemplate;
|
import com.dfsek.terra.config.templates.CarverTemplate;
|
||||||
import com.dfsek.terra.config.templates.PaletteTemplate;
|
import com.dfsek.terra.config.templates.PaletteTemplate;
|
||||||
import com.dfsek.terra.config.templates.StructureTemplate;
|
import com.dfsek.terra.config.templates.StructureTemplate;
|
||||||
import com.dfsek.terra.generation.config.NoiseBuilder;
|
import com.dfsek.terra.generation.config.NoiseBuilder;
|
||||||
import com.dfsek.terra.procgen.GridSpawn;
|
|
||||||
import com.dfsek.terra.registry.BiomeGridRegistry;
|
import com.dfsek.terra.registry.BiomeGridRegistry;
|
||||||
import com.dfsek.terra.registry.BiomeRegistry;
|
import com.dfsek.terra.registry.BiomeRegistry;
|
||||||
import com.dfsek.terra.registry.CarverRegistry;
|
import com.dfsek.terra.registry.CarverRegistry;
|
||||||
import com.dfsek.terra.registry.PaletteRegistry;
|
import com.dfsek.terra.registry.PaletteRegistry;
|
||||||
import com.dfsek.terra.registry.StructureRegistry;
|
import com.dfsek.terra.registry.StructureRegistry;
|
||||||
import com.dfsek.terra.util.ConfigUtil;
|
import com.dfsek.terra.util.ConfigUtil;
|
||||||
import org.polydev.gaea.math.ProbabilityCollection;
|
|
||||||
import org.polydev.gaea.math.Range;
|
|
||||||
import org.polydev.gaea.world.palette.Palette;
|
import org.polydev.gaea.world.palette.Palette;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@@ -76,13 +64,9 @@ public class ConfigPack {
|
|||||||
|
|
||||||
|
|
||||||
AbstractConfigLoader abstractConfigLoader = new AbstractConfigLoader();
|
AbstractConfigLoader abstractConfigLoader = new AbstractConfigLoader();
|
||||||
abstractConfigLoader.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader())
|
abstractConfigLoader
|
||||||
.registerLoader(Range.class, new RangeLoader())
|
|
||||||
.registerLoader(CarverPalette.class, new CarverPaletteLoader())
|
|
||||||
.registerLoader(GridSpawn.class, new GridSpawnLoader())
|
|
||||||
.registerLoader(PaletteHolder.class, new PaletteHolderLoader())
|
|
||||||
.registerLoader(PaletteLayer.class, new PaletteLayerLoader())
|
|
||||||
.registerLoader(Palette.class, paletteRegistry);
|
.registerLoader(Palette.class, paletteRegistry);
|
||||||
|
ConfigUtil.registerAllLoaders(abstractConfigLoader);
|
||||||
|
|
||||||
List<PaletteTemplate> paletteTemplates = abstractConfigLoader.load(ConfigUtil.loadFromPath(new File(folder, "palettes").toPath()), PaletteTemplate::new);
|
List<PaletteTemplate> paletteTemplates = abstractConfigLoader.load(ConfigUtil.loadFromPath(new File(folder, "palettes").toPath()), PaletteTemplate::new);
|
||||||
PaletteFactory paletteFactory = new PaletteFactory();
|
PaletteFactory paletteFactory = new PaletteFactory();
|
||||||
|
|||||||
@@ -0,0 +1,15 @@
|
|||||||
|
package com.dfsek.terra.config.loaders;
|
||||||
|
|
||||||
|
import com.dfsek.tectonic.exception.LoadException;
|
||||||
|
import com.dfsek.tectonic.loading.ConfigLoader;
|
||||||
|
import com.dfsek.tectonic.loading.TypeLoader;
|
||||||
|
import org.bukkit.block.Biome;
|
||||||
|
|
||||||
|
import java.lang.reflect.Type;
|
||||||
|
|
||||||
|
public class VanillaBiomeLoader implements TypeLoader<Biome> {
|
||||||
|
@Override
|
||||||
|
public Biome load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
|
||||||
|
return Biome.valueOf((String) o);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -29,7 +29,8 @@ public class BiomeTemplate implements ConfigTemplate {
|
|||||||
private PaletteHolder palette;
|
private PaletteHolder palette;
|
||||||
@Value("slant.palette")
|
@Value("slant.palette")
|
||||||
@Abstractable
|
@Abstractable
|
||||||
private PaletteHolder slantPalette;
|
@Default
|
||||||
|
private PaletteHolder slantPalette = null;
|
||||||
@Value("vanilla")
|
@Value("vanilla")
|
||||||
@Abstractable
|
@Abstractable
|
||||||
private Biome vanilla;
|
private Biome vanilla;
|
||||||
@@ -53,15 +54,19 @@ public class BiomeTemplate implements ConfigTemplate {
|
|||||||
@Default
|
@Default
|
||||||
private List<Ore> ores = new GlueList<>();
|
private List<Ore> ores = new GlueList<>();
|
||||||
@Value("ocean.level")
|
@Value("ocean.level")
|
||||||
|
@Abstractable
|
||||||
@Default
|
@Default
|
||||||
private int seaLevel = 62;
|
private int seaLevel = 62;
|
||||||
@Value("ocean.palette")
|
@Value("ocean.palette")
|
||||||
|
@Abstractable
|
||||||
@Default
|
@Default
|
||||||
private Palette<BlockData> oceanPalette; // TODO: default palette
|
private Palette<BlockData> oceanPalette; // TODO: default palette
|
||||||
@Value("slant.y-offset.top")
|
@Value("slant.y-offset.top")
|
||||||
|
@Abstractable
|
||||||
@Default
|
@Default
|
||||||
private double slantOffsetTop = 0.5D;
|
private double slantOffsetTop = 0.5D;
|
||||||
@Value("slant.y-offset-bottom")
|
@Value("slant.y-offset-bottom")
|
||||||
|
@Abstractable
|
||||||
@Default
|
@Default
|
||||||
private double slantOffsetBottom = 0.25;
|
private double slantOffsetBottom = 0.25;
|
||||||
@Value("elevation.equation")
|
@Value("elevation.equation")
|
||||||
|
|||||||
@@ -1,5 +1,21 @@
|
|||||||
package com.dfsek.terra.util;
|
package com.dfsek.terra.util;
|
||||||
|
|
||||||
|
import com.dfsek.tectonic.loading.TypeRegistry;
|
||||||
|
import com.dfsek.terra.biome.palette.PaletteHolder;
|
||||||
|
import com.dfsek.terra.biome.palette.PaletteLayer;
|
||||||
|
import com.dfsek.terra.carving.CarverPalette;
|
||||||
|
import com.dfsek.terra.config.loaders.GridSpawnLoader;
|
||||||
|
import com.dfsek.terra.config.loaders.PaletteHolderLoader;
|
||||||
|
import com.dfsek.terra.config.loaders.PaletteLayerLoader;
|
||||||
|
import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader;
|
||||||
|
import com.dfsek.terra.config.loaders.RangeLoader;
|
||||||
|
import com.dfsek.terra.config.loaders.VanillaBiomeLoader;
|
||||||
|
import com.dfsek.terra.config.loaders.base.CarverPaletteLoader;
|
||||||
|
import com.dfsek.terra.procgen.GridSpawn;
|
||||||
|
import org.bukkit.block.Biome;
|
||||||
|
import org.polydev.gaea.math.ProbabilityCollection;
|
||||||
|
import org.polydev.gaea.math.Range;
|
||||||
|
|
||||||
import java.io.FileInputStream;
|
import java.io.FileInputStream;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@@ -28,4 +44,19 @@ public final class ConfigUtil {
|
|||||||
|
|
||||||
return streams;
|
return streams;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Register all Terra loaders to a {@link TypeRegistry}.
|
||||||
|
*
|
||||||
|
* @param registry Registry.
|
||||||
|
*/
|
||||||
|
public static void registerAllLoaders(TypeRegistry registry) {
|
||||||
|
registry.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader())
|
||||||
|
.registerLoader(Range.class, new RangeLoader())
|
||||||
|
.registerLoader(CarverPalette.class, new CarverPaletteLoader())
|
||||||
|
.registerLoader(GridSpawn.class, new GridSpawnLoader())
|
||||||
|
.registerLoader(PaletteHolder.class, new PaletteHolderLoader())
|
||||||
|
.registerLoader(PaletteLayer.class, new PaletteLayerLoader())
|
||||||
|
.registerLoader(Biome.class, new VanillaBiomeLoader());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user