This commit is contained in:
dfsek
2020-11-27 15:40:14 -07:00
parent 622e65e7a5
commit af6ba33921
3 changed files with 11 additions and 5 deletions
@@ -1,11 +1,13 @@
package com.dfsek.terra.carving; package com.dfsek.terra.carving;
import com.dfsek.terra.TerraWorld; import com.dfsek.terra.TerraWorld;
import com.dfsek.terra.config.base.ConfigPack; import com.dfsek.terra.biome.UserDefinedBiome;
import com.dfsek.terra.config.templates.BiomeTemplate;
import com.dfsek.terra.config.templates.CarverTemplate; import com.dfsek.terra.config.templates.CarverTemplate;
import net.jafama.FastMath; import net.jafama.FastMath;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import org.polydev.gaea.generation.GenerationPhase;
import org.polydev.gaea.math.Range; import org.polydev.gaea.math.Range;
import org.polydev.gaea.util.FastRandom; import org.polydev.gaea.util.FastRandom;
import org.polydev.gaea.world.carving.Carver; import org.polydev.gaea.world.carving.Carver;
@@ -60,9 +62,11 @@ public class UserDefinedCarver extends Carver {
@Override @Override
public boolean isChunkCarved(World w, int chunkX, int chunkZ, Random random) { public boolean isChunkCarved(World w, int chunkX, int chunkZ, Random random) {
ConfigPack c = TerraWorld.getWorld(w).getConfig(); BiomeTemplate conf = ((UserDefinedBiome) TerraWorld.getWorld(w).getGrid().getBiome(chunkX << 4, chunkZ << 4, GenerationPhase.POPULATE)).getConfig();
if(conf.getCarvers().get(this) != null) {
return new FastRandom(random.nextLong() + hash).nextInt(100) < conf.getCarvers().get(this);
}
return false; return false;
//return new FastRandom(random.nextLong() + hash).nextInt(100) < ((UserDefinedBiome) TerraWorld.getWorld(w).getGrid().getBiome(chunkX << 4, chunkZ << 4, GenerationPhase.POPULATE)).getConfig().getCarvers().get(this);
} }
public CarverTemplate getConfig() { public CarverTemplate getConfig() {
@@ -76,7 +76,8 @@ public class ConfigPack {
AbstractConfigLoader abstractConfigLoader = new AbstractConfigLoader(); AbstractConfigLoader abstractConfigLoader = new AbstractConfigLoader();
abstractConfigLoader abstractConfigLoader
.registerLoader(Palette.class, paletteRegistry) .registerLoader(Palette.class, paletteRegistry)
.registerLoader(Biome.class, biomeRegistry); .registerLoader(Biome.class, biomeRegistry)
.registerLoader(UserDefinedCarver.class, carverRegistry);
ConfigUtil.registerAllLoaders(abstractConfigLoader); 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);
@@ -25,9 +25,10 @@ public class CarverPaletteLoader implements TypeLoader<CarverPalette> {
CarverPalette palette = new CarverPalette((Set<Material>) configLoader.loadType(Types.MATERIAL_SET_TYPE, configuration.get("replace")), (Boolean) configuration.get("replace-blacklist")); CarverPalette palette = new CarverPalette((Set<Material>) configLoader.loadType(Types.MATERIAL_SET_TYPE, configuration.get("replace")), (Boolean) configuration.get("replace-blacklist"));
for(Map<String, Object> map : (List<Map<String, Object>>) configuration.get("layers")) { for(Map<String, Object> map : (List<Map<String, Object>>) configuration.get("layers")) {
ProbabilityCollection<BlockData> layer = (ProbabilityCollection<BlockData>) configLoader.loadType(Types.MATERIAL_PROBABILITY_COLLECTION_TYPE, map.get("materials")); ProbabilityCollection<BlockData> layer = (ProbabilityCollection<BlockData>) configLoader.loadType(Types.BLOCK_DATA_PROBABILITY_COLLECTION_TYPE, map.get("materials"));
palette.add(layer, (Integer) map.get("y")); palette.add(layer, (Integer) map.get("y"));
} }
palette.build();
return palette; return palette;
} }
} }