mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-05 07:16:10 +00:00
working flora populator impl
This commit is contained in:
@@ -30,6 +30,7 @@ import com.dfsek.terra.api.util.generic.pair.ImmutablePair;
|
||||
import com.dfsek.terra.api.util.seeded.BiomeProviderBuilder;
|
||||
import com.dfsek.terra.api.world.TerraWorld;
|
||||
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
|
||||
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
||||
import com.dfsek.terra.config.dummy.DummyWorld;
|
||||
import com.dfsek.terra.config.fileloaders.FolderLoader;
|
||||
import com.dfsek.terra.config.fileloaders.ZIPLoader;
|
||||
@@ -243,7 +244,7 @@ public class ConfigPackImpl implements ConfigPack {
|
||||
try {
|
||||
Object loaded = ((ConfigFactory) configType.getFactory()).build(selfLoader.load(configType.getTemplate(this, main), config), main);
|
||||
registry.register(config.getID(), loaded);
|
||||
main.getEventManager().callEvent(new ConfigLoadEvent(this, config, template -> selfLoader.load(template, configuration), configType, loaded));
|
||||
main.getEventManager().callEvent(new ConfigLoadEvent(this, config, template -> selfLoader.load(template, config), configType, loaded));
|
||||
} catch(DuplicateEntryException e) {
|
||||
throw new LoadException("Duplicate registry entry: ", e);
|
||||
}
|
||||
@@ -306,6 +307,11 @@ public class ConfigPackImpl implements ConfigPack {
|
||||
return new WorldConfigImpl(world, this, main);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<GenerationStageProvider> getStages() {
|
||||
return template.getStages();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void registerConfigType(ConfigType<?, ?> type, String id, int priority) {
|
||||
Set<String> contained = new HashSet<>();
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@SuppressWarnings({"unused", "FieldMayBeFinal"})
|
||||
@@ -56,7 +57,7 @@ public class ConfigPackTemplate implements ConfigTemplate {
|
||||
private boolean disableSaplings = false;
|
||||
|
||||
@Value("stages")
|
||||
private LinkedHashMap<String, GenerationStageProvider> stages;
|
||||
private List<GenerationStageProvider> stages;
|
||||
|
||||
@Value("version")
|
||||
@Default
|
||||
@@ -89,7 +90,7 @@ public class ConfigPackTemplate implements ConfigTemplate {
|
||||
return generatorProvider;
|
||||
}
|
||||
|
||||
public LinkedHashMap<String, GenerationStageProvider> getStages() {
|
||||
public List<GenerationStageProvider> getStages() {
|
||||
return stages;
|
||||
}
|
||||
|
||||
|
||||
@@ -8,12 +8,18 @@ import com.dfsek.terra.api.util.seeded.BiomeBuilder;
|
||||
import com.dfsek.terra.api.world.TerraWorld;
|
||||
import com.dfsek.terra.api.world.biome.TerraBiome;
|
||||
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
|
||||
import com.dfsek.terra.api.world.generator.GenerationStage;
|
||||
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
|
||||
import com.dfsek.terra.api.world.generator.SamplerCache;
|
||||
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
|
||||
import com.dfsek.terra.registry.LockedRegistryImpl;
|
||||
import com.dfsek.terra.registry.OpenRegistryImpl;
|
||||
import com.dfsek.terra.world.SamplerCacheImpl;
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class WorldConfigImpl implements WorldConfig {
|
||||
|
||||
@@ -17,7 +17,6 @@ import net.jafama.FastMath;
|
||||
public class TerraWorldImpl implements TerraWorld {
|
||||
private final BiomeProvider provider;
|
||||
private final WorldConfigImpl config;
|
||||
private final boolean safe;
|
||||
private final World world;
|
||||
private final BlockState air;
|
||||
|
||||
@@ -29,7 +28,6 @@ public class TerraWorldImpl implements TerraWorld {
|
||||
this.provider = config.getProvider();
|
||||
main.getEventManager().callEvent(new TerraWorldLoadEvent(this, c));
|
||||
this.air = main.getWorldHandle().air();
|
||||
safe = true;
|
||||
}
|
||||
|
||||
|
||||
@@ -49,11 +47,6 @@ public class TerraWorldImpl implements TerraWorld {
|
||||
return config;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isSafe() {
|
||||
return safe;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BlockState getUngeneratedBlock(int x, int y, int z) {
|
||||
|
||||
Reference in New Issue
Block a user