mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-04-08 16:56:07 +00:00
begin work on janky pregenerator
This commit is contained in:
@@ -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);
|
||||
}
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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")) {
|
||||
|
||||
Reference in New Issue
Block a user