mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-10-26 14:00:14 +00:00
convert GridSpawnLoader to object template
This commit is contained in:
1 parent
c6636a72da
commit
2020ef31e4
3 files changed
+27
-19
No files matched your search
@@ -26,7 +26,7 @@ import com.dfsek.terra.config.loaders.MaterialSetLoader;
|
|||||||
import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader;
|
import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader;
|
||||||
import com.dfsek.terra.config.loaders.RangeLoader;
|
import com.dfsek.terra.config.loaders.RangeLoader;
|
||||||
import com.dfsek.terra.config.loaders.config.FloraLayerTemplate;
|
import com.dfsek.terra.config.loaders.config.FloraLayerTemplate;
|
||||||
import com.dfsek.terra.config.loaders.config.GridSpawnLoader;
|
import com.dfsek.terra.config.loaders.config.GridSpawnTemplate;
|
||||||
import com.dfsek.terra.config.loaders.config.OreConfigLoader;
|
import com.dfsek.terra.config.loaders.config.OreConfigLoader;
|
||||||
import com.dfsek.terra.config.loaders.config.OreHolderLoader;
|
import com.dfsek.terra.config.loaders.config.OreHolderLoader;
|
||||||
import com.dfsek.terra.config.loaders.config.TreeLayerLoader;
|
import com.dfsek.terra.config.loaders.config.TreeLayerLoader;
|
||||||
@@ -69,7 +69,7 @@ public class GenericLoaders implements LoaderRegistrar {
|
|||||||
public void register(TypeRegistry registry) {
|
public void register(TypeRegistry registry) {
|
||||||
registry.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader())
|
registry.registerLoader(ProbabilityCollection.class, new ProbabilityCollectionLoader())
|
||||||
.registerLoader(Range.class, new RangeLoader())
|
.registerLoader(Range.class, new RangeLoader())
|
||||||
.registerLoader(GridSpawn.class, new GridSpawnLoader())
|
.registerLoader(GridSpawn.class, GridSpawnTemplate::new)
|
||||||
.registerLoader(PaletteHolder.class, new PaletteHolderLoader())
|
.registerLoader(PaletteHolder.class, new PaletteHolderLoader())
|
||||||
.registerLoader(PaletteLayerHolder.class, new PaletteLayerLoader())
|
.registerLoader(PaletteLayerHolder.class, new PaletteLayerLoader())
|
||||||
.registerLoader(FloraLayer.class, FloraLayerTemplate::new)
|
.registerLoader(FloraLayer.class, FloraLayerTemplate::new)
|
||||||
|
|||||||
@@ -1,17 +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.GridSpawn;
|
|
||||||
|
|
||||||
import java.lang.reflect.Type;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
|
||||||
public class GridSpawnLoader implements TypeLoader<GridSpawn> {
|
|
||||||
@Override
|
|
||||||
public GridSpawn load(Type type, Object o, ConfigLoader configLoader) {
|
|
||||||
Map<String, Integer> map = (Map<String, Integer>) o;
|
|
||||||
return new GridSpawn(map.get("width"), map.get("padding"), map.getOrDefault("salt", 0));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
package com.dfsek.terra.config.loaders.config;
|
||||||
|
|
||||||
|
import com.dfsek.tectonic.annotations.Default;
|
||||||
|
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.GridSpawn;
|
||||||
|
|
||||||
|
@SuppressWarnings("FieldMayBeFinal")
|
||||||
|
public class GridSpawnTemplate implements ObjectTemplate<GridSpawn> {
|
||||||
|
@Value("width")
|
||||||
|
private MetaValue<Integer> width;
|
||||||
|
|
||||||
|
@Value("padding")
|
||||||
|
private MetaValue<Integer> padding;
|
||||||
|
|
||||||
|
@Value("salt")
|
||||||
|
@Default
|
||||||
|
private MetaValue<Integer> salt = MetaValue.of(0);
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public GridSpawn get() {
|
||||||
|
return new GridSpawn(width.get(), padding.get(), salt.get());
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user