TerraChunkGenerator -> ChunkGenerator

This commit is contained in:
dfsek 2021-07-22 18:30:44 -07:00
parent f659c32749
commit 4da5ce748d
13 changed files with 31 additions and 33 deletions

View File

@ -18,7 +18,7 @@ import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.api.world.generator.ChunkData;
import com.dfsek.terra.api.world.generator.Palette; import com.dfsek.terra.api.world.generator.Palette;
import com.dfsek.terra.api.world.generator.Sampler; import com.dfsek.terra.api.world.generator.Sampler;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.api.world.generator.GenerationStage; import com.dfsek.terra.api.world.generator.GenerationStage;
import net.jafama.FastMath; import net.jafama.FastMath;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
@ -27,7 +27,7 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Random; import java.util.Random;
public class NoiseChunkGenerator3D implements TerraChunkGenerator { public class NoiseChunkGenerator3D implements ChunkGenerator {
private final ConfigPack configPack; private final ConfigPack configPack;
private final TerraPlugin main; private final TerraPlugin main;
private final List<GenerationStage> generationStages = new ArrayList<>(); private final List<GenerationStage> generationStages = new ArrayList<>();

View File

@ -8,7 +8,7 @@ import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.entity.EntityType; import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.vector.Vector3; import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
public interface World extends Handle { public interface World extends Handle {
long getSeed(); long getSeed();
@ -51,7 +51,7 @@ public interface World extends Handle {
int getMinHeight(); int getMinHeight();
TerraChunkGenerator getGenerator(); ChunkGenerator getGenerator();
BiomeProvider getBiomeProvider(); BiomeProvider getBiomeProvider();

View File

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

View File

@ -3,5 +3,5 @@ package com.dfsek.terra.api.world.generator;
import com.dfsek.terra.api.config.ConfigPack; import com.dfsek.terra.api.config.ConfigPack;
public interface ChunkGeneratorProvider { public interface ChunkGeneratorProvider {
TerraChunkGenerator newInstance(ConfigPack pack); ChunkGenerator newInstance(ConfigPack pack);
} }

View File

@ -4,5 +4,5 @@ import com.dfsek.terra.api.Handle;
public interface GeneratorWrapper extends Handle { public interface GeneratorWrapper extends Handle {
@Override @Override
TerraChunkGenerator getHandle(); ChunkGenerator getHandle();
} }

View File

@ -9,7 +9,7 @@ import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
public class DummyWorld implements World { public class DummyWorld implements World {
@Override @Override
@ -58,7 +58,7 @@ public class DummyWorld implements World {
} }
@Override @Override
public TerraChunkGenerator getGenerator() { public ChunkGenerator getGenerator() {
throw new UnsupportedOperationException("Cannot get generator of DummyWorld"); throw new UnsupportedOperationException("Cannot get generator of DummyWorld");
} }

View File

@ -74,7 +74,7 @@ public class TerraBukkitPlugin extends JavaPlugin implements TerraPlugin {
else BUKKIT_VERSION = BukkitVersion.UNKNOWN; else BUKKIT_VERSION = BukkitVersion.UNKNOWN;
} }
private final Map<String, com.dfsek.terra.api.world.generator.TerraChunkGenerator> generatorMap = new HashMap<>(); private final Map<String, com.dfsek.terra.api.world.generator.ChunkGenerator> generatorMap = new HashMap<>();
private final Map<String, ConfigPack> worlds = new HashMap<>(); private final Map<String, ConfigPack> worlds = new HashMap<>();
private final Profiler profiler = new ProfilerImpl(); private final Profiler profiler = new ProfilerImpl();
private final ConfigRegistry registry = new ConfigRegistry(); private final ConfigRegistry registry = new ConfigRegistry();

View File

@ -3,13 +3,12 @@ package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.api.TerraPlugin; import com.dfsek.terra.api.TerraPlugin;
import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generator.GeneratorWrapper;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.bukkit.population.PopulationManager; import com.dfsek.terra.bukkit.population.PopulationManager;
import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.bukkit.world.BukkitBiomeGrid; import com.dfsek.terra.bukkit.world.BukkitBiomeGrid;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.generator.BlockPopulator; import org.bukkit.generator.BlockPopulator;
import org.bukkit.generator.ChunkGenerator;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
@ -20,19 +19,19 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Random; import java.util.Random;
public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements GeneratorWrapper { public class BukkitChunkGeneratorWrapper extends org.bukkit.generator.ChunkGenerator implements GeneratorWrapper {
private static final Map<com.dfsek.terra.api.world.World, PopulationManager> popMap = new HashMap<>(); private static final Map<com.dfsek.terra.api.world.World, PopulationManager> popMap = new HashMap<>();
private final PopulationManager popMan; private final PopulationManager popMan;
private final TerraChunkGenerator delegate; private final ChunkGenerator delegate;
private final TerraPlugin main; private final TerraPlugin main;
private boolean needsLoad = true; private boolean needsLoad = true;
public BukkitChunkGeneratorWrapper(TerraChunkGenerator delegate) { public BukkitChunkGeneratorWrapper(ChunkGenerator delegate) {
this.delegate = delegate; this.delegate = delegate;
this.main = delegate.getMain(); this.main = delegate.getMain();
this.popMan = new PopulationManager(delegate, main); this.popMan = new PopulationManager(delegate, main);
@ -105,7 +104,7 @@ public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements Gener
} }
@Override @Override
public TerraChunkGenerator getHandle() { public ChunkGenerator getHandle() {
return delegate; return delegate;
} }
} }

View File

@ -1,7 +1,7 @@
package com.dfsek.terra.bukkit.generator; package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.api.world.generator.Chunkified; import com.dfsek.terra.api.world.generator.Chunkified;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitAdapter;
import org.bukkit.Chunk; import org.bukkit.Chunk;
import org.bukkit.World; import org.bukkit.World;
@ -11,9 +11,9 @@ import org.jetbrains.annotations.NotNull;
import java.util.Random; import java.util.Random;
public class BukkitPopulatorWrapper extends BlockPopulator { public class BukkitPopulatorWrapper extends BlockPopulator {
private final TerraChunkGenerator delegate; private final ChunkGenerator delegate;
public BukkitPopulatorWrapper(TerraChunkGenerator delegate) { public BukkitPopulatorWrapper(ChunkGenerator delegate) {
this.delegate = delegate; this.delegate = delegate;
} }

View File

@ -5,7 +5,7 @@ import com.dfsek.terra.api.profiler.ProfileFrame;
import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.Chunkified; import com.dfsek.terra.api.world.generator.Chunkified;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.bukkit.TerraBukkitPlugin; import com.dfsek.terra.bukkit.TerraBukkitPlugin;
import com.dfsek.terra.bukkit.world.BukkitAdapter; import com.dfsek.terra.bukkit.world.BukkitAdapter;
import com.dfsek.terra.bukkit.world.BukkitWorld; import com.dfsek.terra.bukkit.world.BukkitWorld;
@ -22,11 +22,11 @@ import java.util.Random;
* Cursed management class for the horrors of Bukkit population * Cursed management class for the horrors of Bukkit population
*/ */
public class PopulationManager extends BlockPopulator { public class PopulationManager extends BlockPopulator {
private final TerraChunkGenerator generator; private final ChunkGenerator generator;
private final HashSet<ChunkCoordinate> needsPop = new HashSet<>(); private final HashSet<ChunkCoordinate> needsPop = new HashSet<>();
private final TerraPlugin main; private final TerraPlugin main;
public PopulationManager(TerraChunkGenerator generator, TerraPlugin main) { public PopulationManager(ChunkGenerator generator, TerraPlugin main) {
this.generator = generator; this.generator = generator;
this.main = main; this.main = main;
} }

View File

@ -5,7 +5,7 @@ import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.generator.ChunkData; import com.dfsek.terra.api.world.generator.ChunkData;
import com.dfsek.terra.api.world.generator.Chunkified; import com.dfsek.terra.api.world.generator.Chunkified;
import com.dfsek.terra.api.world.generator.GeneratorWrapper; import com.dfsek.terra.api.world.generator.GeneratorWrapper;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.TerraFabricPlugin; import com.dfsek.terra.fabric.TerraFabricPlugin;
import com.dfsek.terra.fabric.block.FabricBlockState; import com.dfsek.terra.fabric.block.FabricBlockState;
import com.dfsek.terra.fabric.mixin.StructureAccessorAccessor; import com.dfsek.terra.fabric.mixin.StructureAccessorAccessor;
@ -31,7 +31,6 @@ import net.minecraft.world.chunk.Chunk;
import net.minecraft.world.gen.ChunkRandom; import net.minecraft.world.gen.ChunkRandom;
import net.minecraft.world.gen.GenerationStep; import net.minecraft.world.gen.GenerationStep;
import net.minecraft.world.gen.StructureAccessor; import net.minecraft.world.gen.StructureAccessor;
import net.minecraft.world.gen.chunk.ChunkGenerator;
import net.minecraft.world.gen.chunk.StructuresConfig; import net.minecraft.world.gen.chunk.StructuresConfig;
import net.minecraft.world.gen.chunk.VerticalBlockSample; import net.minecraft.world.gen.chunk.VerticalBlockSample;
import net.minecraft.world.gen.feature.StructureFeature; import net.minecraft.world.gen.feature.StructureFeature;
@ -40,7 +39,7 @@ import org.jetbrains.annotations.Nullable;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.Executor; import java.util.concurrent.Executor;
public class FabricChunkGeneratorWrapper extends ChunkGenerator implements GeneratorWrapper { public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.ChunkGenerator implements GeneratorWrapper {
public static final Codec<ConfigPack> PACK_CODEC = RecordCodecBuilder.create( public static final Codec<ConfigPack> PACK_CODEC = RecordCodecBuilder.create(
config -> config.group( config -> config.group(
Codec.STRING.fieldOf("pack") Codec.STRING.fieldOf("pack")
@ -59,7 +58,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
); );
private final long seed; private final long seed;
private final TerraChunkGenerator delegate; private final ChunkGenerator delegate;
private final TerraBiomeSource biomeSource; private final TerraBiomeSource biomeSource;
private final ConfigPack pack; private final ConfigPack pack;
@ -78,12 +77,12 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
@Override @Override
protected Codec<? extends ChunkGenerator> getCodec() { protected Codec<? extends net.minecraft.world.gen.chunk.ChunkGenerator> getCodec() {
return CODEC; return CODEC;
} }
@Override @Override
public ChunkGenerator withSeed(long seed) { public net.minecraft.world.gen.chunk.ChunkGenerator withSeed(long seed) {
return new FabricChunkGeneratorWrapper((TerraBiomeSource) this.biomeSource.withSeed(seed), seed, pack); return new FabricChunkGeneratorWrapper((TerraBiomeSource) this.biomeSource.withSeed(seed), seed, pack);
} }
@ -225,7 +224,7 @@ public class FabricChunkGeneratorWrapper extends ChunkGenerator implements Gener
} }
@Override @Override
public TerraChunkGenerator getHandle() { public ChunkGenerator getHandle() {
return delegate; return delegate;
} }
} }

View File

@ -9,7 +9,7 @@ import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.block.FabricBlockState; import com.dfsek.terra.fabric.block.FabricBlockState;
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
import com.dfsek.terra.fabric.generation.TerraBiomeSource; import com.dfsek.terra.fabric.generation.TerraBiomeSource;
@ -105,7 +105,7 @@ public abstract class ChunkRegionMixin {
return this; return this;
} }
public TerraChunkGenerator terraWorld$getGenerator() { public ChunkGenerator terraWorld$getGenerator() {
return ((FabricChunkGeneratorWrapper) world.getChunkManager().getChunkGenerator()).getHandle(); return ((FabricChunkGeneratorWrapper) world.getChunkManager().getChunkGenerator()).getHandle();
} }

View File

@ -9,7 +9,7 @@ import com.dfsek.terra.api.vector.Vector3;
import com.dfsek.terra.api.world.Chunk; import com.dfsek.terra.api.world.Chunk;
import com.dfsek.terra.api.world.World; import com.dfsek.terra.api.world.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider; import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.TerraChunkGenerator; import com.dfsek.terra.api.world.generator.ChunkGenerator;
import com.dfsek.terra.fabric.block.FabricBlockState; import com.dfsek.terra.fabric.block.FabricBlockState;
import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper; import com.dfsek.terra.fabric.generation.FabricChunkGeneratorWrapper;
import com.dfsek.terra.fabric.generation.TerraBiomeSource; import com.dfsek.terra.fabric.generation.TerraBiomeSource;
@ -99,7 +99,7 @@ public abstract class ServerWorldMixin {
return this; return this;
} }
public TerraChunkGenerator terra$getGenerator() { public ChunkGenerator terra$getGenerator() {
return ((FabricChunkGeneratorWrapper) chunkManager.getChunkGenerator()).getHandle(); return ((FabricChunkGeneratorWrapper) chunkManager.getChunkGenerator()).getHandle();
} }