This commit is contained in:
dfsek
2020-11-27 15:17:16 -07:00
parent 2f9f89042c
commit 622e65e7a5
4 changed files with 45 additions and 6 deletions
@@ -10,6 +10,6 @@ import java.lang.reflect.Type;
public class MaterialLoader implements TypeLoader<Material> { public class MaterialLoader implements TypeLoader<Material> {
@Override @Override
public Material load(Type type, Object o, ConfigLoader configLoader) throws LoadException { public Material load(Type type, Object o, ConfigLoader configLoader) throws LoadException {
return Material.getMaterial((String) o); return Material.matchMaterial((String) o);
} }
} }
@@ -76,6 +76,42 @@ public class BiomeTemplate implements ConfigTemplate {
@Abstractable @Abstractable
private String elevationEquation = null; private String elevationEquation = null;
@Value("slabs.enable")
@Abstractable
@Default
private boolean doSlabs = false;
@Value("slabs.threshold")
@Abstractable
@Default
private double slabThreshold = 0.0075D;
@Value("slabs.palettes")
@Abstractable
@Default
private Map<Material, Palette<BlockData>> slabPalettes;
@Value("stair-palettes")
@Abstractable
@Default
private Map<Material, Palette<BlockData>> stairPalettes;
public double getSlabThreshold() {
return slabThreshold;
}
public boolean doSlabs() {
return doSlabs;
}
public Map<Material, Palette<BlockData>> getSlabPalettes() {
return slabPalettes;
}
public Map<Material, Palette<BlockData>> getStairPalettes() {
return stairPalettes;
}
public BiomeTemplate(ConfigPack pack) { public BiomeTemplate(ConfigPack pack) {
this.pack = pack; this.pack = pack;
} }
@@ -175,10 +175,10 @@ public class TerraChunkGenerator extends GaeaChunkGenerator {
if(interpolator.getNoise(x, y - elevate, z) > 0) { if(interpolator.getNoise(x, y - elevate, z) > 0) {
BlockData data = getPalette(x, y, z, c, interpolator, elevationInterpolator).get(paletteLevel, cx, cz); BlockData data = getPalette(x, y, z, c, interpolator, elevationInterpolator).get(paletteLevel, cx, cz);
chunk.setBlock(x, y, z, data); chunk.setBlock(x, y, z, data);
/*if(paletteLevel == 0 && slab != null && y < 255) { if(paletteLevel == 0 && c.doSlabs() && y < 255) {
prepareBlockPart(data, chunk.getBlockData(x, y + 1, z), chunk, new Vector(x, y + 1, z), slab.getSlabs(), prepareBlockPart(data, chunk.getBlockData(x, y + 1, z), chunk, new Vector(x, y + 1, z), c.getSlabPalettes(),
slab.getStairs(), slab.getSlabThreshold(), interpolator, elevationInterpolator); c.getStairPalettes(), c.getSlabThreshold(), interpolator, elevationInterpolator);
}*/ }
paletteLevel++; paletteLevel++;
} else if(y <= sea) { } else if(y <= sea) {
chunk.setBlock(x, y, z, seaPalette.get(sea - y, x + xOrig, z + zOrig)); chunk.setBlock(x, y, z, seaPalette.get(sea - y, x + xOrig, z + zOrig));
@@ -6,6 +6,7 @@ import com.dfsek.terra.biome.palette.PaletteLayer;
import com.dfsek.terra.carving.CarverPalette; import com.dfsek.terra.carving.CarverPalette;
import com.dfsek.terra.config.loaders.BlockDataLoader; import com.dfsek.terra.config.loaders.BlockDataLoader;
import com.dfsek.terra.config.loaders.GridSpawnLoader; import com.dfsek.terra.config.loaders.GridSpawnLoader;
import com.dfsek.terra.config.loaders.MaterialLoader;
import com.dfsek.terra.config.loaders.PaletteHolderLoader; import com.dfsek.terra.config.loaders.PaletteHolderLoader;
import com.dfsek.terra.config.loaders.PaletteLayerLoader; import com.dfsek.terra.config.loaders.PaletteLayerLoader;
import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader; import com.dfsek.terra.config.loaders.ProbabilityCollectionLoader;
@@ -13,6 +14,7 @@ import com.dfsek.terra.config.loaders.RangeLoader;
import com.dfsek.terra.config.loaders.VanillaBiomeLoader; import com.dfsek.terra.config.loaders.VanillaBiomeLoader;
import com.dfsek.terra.config.loaders.base.CarverPaletteLoader; import com.dfsek.terra.config.loaders.base.CarverPaletteLoader;
import com.dfsek.terra.procgen.GridSpawn; import com.dfsek.terra.procgen.GridSpawn;
import org.bukkit.Material;
import org.bukkit.block.Biome; import org.bukkit.block.Biome;
import org.bukkit.block.data.BlockData; import org.bukkit.block.data.BlockData;
import org.polydev.gaea.math.ProbabilityCollection; import org.polydev.gaea.math.ProbabilityCollection;
@@ -60,6 +62,7 @@ public final class ConfigUtil {
.registerLoader(PaletteHolder.class, new PaletteHolderLoader()) .registerLoader(PaletteHolder.class, new PaletteHolderLoader())
.registerLoader(PaletteLayer.class, new PaletteLayerLoader()) .registerLoader(PaletteLayer.class, new PaletteLayerLoader())
.registerLoader(Biome.class, new VanillaBiomeLoader()) .registerLoader(Biome.class, new VanillaBiomeLoader())
.registerLoader(BlockData.class, new BlockDataLoader()); .registerLoader(BlockData.class, new BlockDataLoader())
.registerLoader(Material.class, new MaterialLoader());
} }
} }