BlockPopulator -> GenerationStage

This commit is contained in:
dfsek
2021-07-08 09:56:19 -07:00
parent 719ea83bcd
commit 8dcd50d3fb
18 changed files with 33 additions and 33 deletions

View File

@@ -12,14 +12,14 @@ import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.Chunkified;
import com.dfsek.terra.api.world.generator.TerraBlockPopulator;
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
import org.jetbrains.annotations.NotNull;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class CavePopulator implements TerraBlockPopulator, Chunkified {
public class CavePopulator implements TerraGenerationStage, Chunkified {
private static final Map<BlockType, BlockState> shiftStorage = new HashMap<>(); // Persist BlockData created for shifts, to avoid re-calculating each time.
private final TerraPlugin main;

View File

@@ -17,7 +17,7 @@ import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkData;
import com.dfsek.terra.api.world.generator.Sampler;
import com.dfsek.terra.api.world.generator.TerraBlockPopulator;
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator;
import org.jetbrains.annotations.NotNull;
@@ -28,7 +28,7 @@ import java.util.Random;
public class NoiseChunkGenerator3D implements TerraChunkGenerator {
private final ConfigPack configPack;
private final TerraPlugin main;
private final List<TerraBlockPopulator> blockPopulators = new ArrayList<>();
private final List<TerraGenerationStage> blockPopulators = new ArrayList<>();
public NoiseChunkGenerator3D(ConfigPack c, TerraPlugin main) {
this.configPack = c;
@@ -145,7 +145,7 @@ public class NoiseChunkGenerator3D implements TerraChunkGenerator {
}
@Override
public List<TerraBlockPopulator> getPopulators() {
public List<TerraGenerationStage> getGenerationStages() {
return blockPopulators;
}
}

View File

@@ -9,7 +9,7 @@ import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import com.dfsek.terra.api.world.generator.BlockPopulatorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@Addon("core-flora-config")
@Author("Terra")
@@ -25,6 +25,6 @@ public class FloraAddon extends TerraAddon implements EventListener {
public void onPackLoad(ConfigPackPreLoadEvent event) throws DuplicateEntryException {
event.getPack().registerConfigType(new FloraConfigType(event.getPack()), "FLORA", 2);
event.getPack().getOrCreateRegistry(BlockPopulatorProvider.class).register("FLORA", pack -> new FloraPopulator(main));
event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("FLORA", pack -> new FloraPopulator(main));
}
}

View File

@@ -5,13 +5,13 @@ import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.TerraBlockPopulator;
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
import org.jetbrains.annotations.NotNull;
/**
* Populates Flora
*/
public class FloraPopulator implements TerraBlockPopulator {
public class FloraPopulator implements TerraGenerationStage {
private final TerraPlugin main;
public FloraPopulator(TerraPlugin main) {

View File

@@ -9,7 +9,7 @@ import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import com.dfsek.terra.api.world.generator.BlockPopulatorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@Addon("core-ore-config")
@@ -26,6 +26,6 @@ public class OreAddon extends TerraAddon implements EventListener {
public void onPackLoad(ConfigPackPreLoadEvent event) throws DuplicateEntryException {
event.getPack().registerConfigType(new OreConfigType(event.getPack()), "ORE", 1);
event.getPack().getOrCreateRegistry(BlockPopulatorProvider.class).register("ORE", pack -> new OrePopulator(main));
event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("ORE", pack -> new OrePopulator(main));
}
}

View File

@@ -7,12 +7,12 @@ import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.TerraBiome;
import com.dfsek.terra.api.world.generator.TerraBlockPopulator;
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
import org.jetbrains.annotations.NotNull;
import java.util.Random;
public class OrePopulator implements TerraBlockPopulator {
public class OrePopulator implements TerraGenerationStage {
private final TerraPlugin main;
public OrePopulator(TerraPlugin main) {

View File

@@ -12,13 +12,13 @@ import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.Chunkified;
import com.dfsek.terra.api.world.generator.TerraBlockPopulator;
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
import net.jafama.FastMath;
import org.jetbrains.annotations.NotNull;
import java.util.Random;
public class StructurePopulator implements TerraBlockPopulator, Chunkified {
public class StructurePopulator implements TerraGenerationStage, Chunkified {
private final TerraPlugin main;
public StructurePopulator(TerraPlugin main) {

View File

@@ -9,7 +9,7 @@ import com.dfsek.terra.api.event.EventListener;
import com.dfsek.terra.api.event.events.config.ConfigPackPreLoadEvent;
import com.dfsek.terra.api.injection.annotations.Inject;
import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import com.dfsek.terra.api.world.generator.BlockPopulatorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
@Addon("core-tree-config")
@Author("Terra")
@@ -25,6 +25,6 @@ public class TreeAddon extends TerraAddon implements EventListener {
public void onPackLoad(ConfigPackPreLoadEvent event) throws DuplicateEntryException {
event.getPack().registerConfigType(new TreeConfigType(event.getPack()), "TREE", 2);
event.getPack().getOrCreateRegistry(BlockPopulatorProvider.class).register("TREE", pack -> new TreePopulator(main));
event.getPack().getOrCreateRegistry(GenerationStageProvider.class).register("TREE", pack -> new TreePopulator(main));
}
}

View File

@@ -7,14 +7,14 @@ import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.TerraWorld;
import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.TerraBlockPopulator;
import com.dfsek.terra.api.world.generator.TerraGenerationStage;
import net.jafama.FastMath;
import org.jetbrains.annotations.NotNull;
import java.util.Random;
public class TreePopulator implements TerraBlockPopulator {
public class TreePopulator implements TerraGenerationStage {
private final TerraPlugin main;
public TreePopulator(TerraPlugin main) {

View File

@@ -1,7 +0,0 @@
package com.dfsek.terra.api.world.generator;
import com.dfsek.terra.api.config.ConfigPack;
public interface BlockPopulatorProvider {
TerraBlockPopulator newInstance(ConfigPack pack);
}

View File

@@ -6,6 +6,6 @@ import com.dfsek.terra.api.world.World;
import java.util.Random;
public interface BlockPopulator extends Handle {
public interface GenerationStage extends Handle {
void populate(World world, Random random, Chunk chunk);
}

View File

@@ -0,0 +1,7 @@
package com.dfsek.terra.api.world.generator;
import com.dfsek.terra.api.config.ConfigPack;
public interface GenerationStageProvider {
TerraGenerationStage newInstance(ConfigPack pack);
}

View File

@@ -21,5 +21,5 @@ public interface TerraChunkGenerator {
Sampler createSampler(int chunkX, int chunkZ, BiomeProvider provider, World world, int elevationSmooth);
List<TerraBlockPopulator> getPopulators();
List<TerraGenerationStage> getGenerationStages();
}

View File

@@ -3,6 +3,6 @@ package com.dfsek.terra.api.world.generator;
import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.World;
public interface TerraBlockPopulator {
public interface TerraGenerationStage {
void populate(World world, Chunk chunk);
}