begin work on janky pregenerator

This commit is contained in:
dfsek
2021-01-04 00:21:49 -07:00
parent 3c12a98ef3
commit ee093397d3
17 changed files with 631 additions and 3 deletions

View File

@@ -0,0 +1,27 @@
package com.dfsek.terra.api.structures.structure.buffer.items.state;
import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.platform.TerraPlugin;
import com.dfsek.terra.api.platform.block.state.BlockState;
import com.dfsek.terra.api.structures.structure.buffer.items.BufferedItem;
@SuppressWarnings("unchecked")
public abstract class BufferedStateManipulator<T extends BlockState> implements BufferedItem {
private final TerraPlugin main;
protected BufferedStateManipulator(TerraPlugin main) {
this.main = main;
}
@Override
public void paste(Location origin) {
BlockState state = origin.getBlock().getState();
try {
apply((T) state);
} catch(ClassCastException e) {
main.getLogger().warning("Could not find expected BlockState at " + origin + "; found " + origin.getBlock().getBlockData().getAsString());
}
}
public abstract void apply(T state);
}

View File

@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Random;
public interface TerraChunkGenerator {
ChunkGenerator.ChunkData generateChunkData(@NotNull World world, @NotNull Random random, int x, int z, ChunkGenerator.ChunkData original);
ChunkGenerator.ChunkData generateChunkData(@NotNull World world, Random random, int x, int z, ChunkGenerator.ChunkData original);
void generateBiomes(@NotNull World world, @NotNull Random random, int x, int z, @NotNull BiomeGrid biome);

View File

@@ -86,7 +86,7 @@ public class MasterChunkGenerator implements TerraChunkGenerator {
@Override
@SuppressWarnings({"try"})
public ChunkGenerator.ChunkData generateChunkData(@NotNull World world, @NotNull Random random, int chunkX, int chunkZ, ChunkGenerator.ChunkData chunk) {
public ChunkGenerator.ChunkData generateChunkData(@NotNull World world, Random random, int chunkX, int chunkZ, ChunkGenerator.ChunkData chunk) {
TerraWorld tw = main.getWorld(world);
com.dfsek.terra.api.world.biome.BiomeGrid grid = tw.getGrid();
try(ProfileFuture ignore = tw.getProfiler().measure("TotalChunkGenTime")) {