oreconfigloader -> OreConfigTemplate

This commit is contained in:
dfsek
2021-06-14 14:15:21 -07:00
parent 2020ef31e4
commit 139f67af52
3 changed files with 28 additions and 22 deletions

View File

@@ -27,7 +27,7 @@ import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader;
import com.dfsek.terra.config.loaders.RangeLoader;
import com.dfsek.terra.config.loaders.config.FloraLayerTemplate;
import com.dfsek.terra.config.loaders.config.GridSpawnTemplate;
import com.dfsek.terra.config.loaders.config.OreConfigLoader;
import com.dfsek.terra.config.loaders.config.OreConfigTemplate;
import com.dfsek.terra.config.loaders.config.OreHolderLoader;
import com.dfsek.terra.config.loaders.config.TreeLayerLoader;
import com.dfsek.terra.config.loaders.config.biome.BiomeProviderBuilderLoader;
@@ -74,7 +74,7 @@ public class GenericLoaders implements LoaderRegistrar {
.registerLoader(PaletteLayerHolder.class, new PaletteLayerLoader())
.registerLoader(FloraLayer.class, FloraLayerTemplate::new)
.registerLoader(Ore.Type.class, (t, o, l) -> Ore.Type.valueOf(o.toString()))
.registerLoader(OreConfig.class, new OreConfigLoader())
.registerLoader(OreConfig.class, OreConfigTemplate::new)
.registerLoader(TreeLayer.class, new TreeLayerLoader())
.registerLoader(MaterialSet.class, new MaterialSetLoader())
.registerLoader(OreHolder.class, new OreHolderLoader())

View File

@@ -1,20 +0,0 @@
package com.dfsek.terra.config.loaders.config;
import com.dfsek.tectonic.loading.ConfigLoader;
import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.world.population.items.ores.OreConfig;
import java.lang.reflect.Type;
import java.util.Map;
@SuppressWarnings("unchecked")
public class OreConfigLoader implements TypeLoader<OreConfig> {
@Override
public OreConfig load(Type type, Object o, ConfigLoader configLoader) {
Map<String, Integer> map = (Map<String, Integer>) o;
Range amount = new Range(map.get("min"), map.get("max"));
Range height = new Range(map.get("min-height"), map.get("max-height"));
return new OreConfig(amount, height);
}
}

View File

@@ -0,0 +1,26 @@
package com.dfsek.terra.config.loaders.config;
import com.dfsek.tectonic.annotations.Value;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.terra.api.config.meta.MetaValue;
import com.dfsek.terra.api.math.Range;
import com.dfsek.terra.world.population.items.ores.OreConfig;
public class OreConfigTemplate implements ObjectTemplate<OreConfig> {
@Value("min")
private MetaValue<Integer> min;
@Value("max")
private MetaValue<Integer> max;
@Value("min-height")
private MetaValue<Integer> minHeight;
@Value("max-height")
private MetaValue<Integer> maxHeight;
@Override
public OreConfig get() {
return new OreConfig(new Range(min.get(), max.get()), new Range(minHeight.get(), maxHeight.get()));
}
}