clean up ChunkGenerator API

This commit is contained in:
dfsek
2021-02-20 23:49:47 -07:00
parent 3b719d0880
commit fab8c90e92
26 changed files with 63 additions and 231 deletions
@@ -31,8 +31,8 @@ import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.lang.Language;
import com.dfsek.terra.config.pack.ConfigPack;
import com.dfsek.terra.debug.DebugLogger;
import com.dfsek.terra.registry.AddonRegistry;
import com.dfsek.terra.registry.ConfigRegistry;
import com.dfsek.terra.registry.master.AddonRegistry;
import com.dfsek.terra.registry.master.ConfigRegistry;
import com.dfsek.terra.world.TerraWorld;
import com.dfsek.terra.world.generation.MasterChunkGenerator;
import io.papermc.lib.PaperLib;
@@ -4,7 +4,7 @@ import com.dfsek.terra.bukkit.BukkitCommandSender;
import com.dfsek.terra.bukkit.command.Command;
import com.dfsek.terra.config.lang.LangUtil;
import com.dfsek.terra.config.pack.ConfigPackTemplate;
import com.dfsek.terra.registry.ConfigRegistry;
import com.dfsek.terra.registry.master.ConfigRegistry;
import org.bukkit.command.CommandSender;
import org.jetbrains.annotations.NotNull;
@@ -1,20 +1,10 @@
package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.world.BiomeGrid;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.BlockPopulator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.bukkit.world.BukkitBiomeGrid;
import com.dfsek.terra.bukkit.world.BukkitWorld;
import com.dfsek.terra.api.platform.world.generator.ChunkData;
import com.dfsek.terra.bukkit.world.block.data.BukkitBlockData;
import org.bukkit.generator.ChunkGenerator;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
public class BukkitChunkGenerator implements com.dfsek.terra.api.platform.world.generator.ChunkGenerator {
private final ChunkGenerator delegate;
@@ -28,46 +18,6 @@ public class BukkitChunkGenerator implements com.dfsek.terra.api.platform.world.
return delegate;
}
@Override
public boolean isParallelCapable() {
return delegate.isParallelCapable();
}
@Override
public boolean shouldGenerateCaves() {
return delegate.shouldGenerateCaves();
}
@Override
public boolean shouldGenerateDecorations() {
return delegate.shouldGenerateDecorations();
}
@Override
public boolean shouldGenerateMobs() {
return delegate.shouldGenerateMobs();
}
@Override
public boolean shouldGenerateStructures() {
return delegate.shouldGenerateStructures();
}
@Override
public ChunkData generateChunkData(@NotNull World world, @NotNull Random random, int x, int z, @NotNull BiomeGrid biome) {
return new BukkitChunkData(delegate.generateChunkData(((BukkitWorld) world).getHandle(), random, x, z, ((BukkitBiomeGrid) biome).getHandle()));
}
@Override
public List<BlockPopulator> getDefaultPopulators(World world) {
return delegate.getDefaultPopulators(((BukkitWorld) world).getHandle()).stream().map(BukkitPopulator::new).collect(Collectors.toList());
}
@Override
public @Nullable TerraChunkGenerator getTerraGenerator() {
return delegate instanceof BukkitChunkGeneratorWrapper ? ((BukkitChunkGeneratorWrapper) delegate).getHandle() : null;
}
public static class BukkitChunkData implements ChunkData {
private final ChunkGenerator.ChunkData delegate;
@@ -2,7 +2,6 @@ package com.dfsek.terra.bukkit.generator;
import com.dfsek.terra.api.core.TerraPlugin;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper;
import com.dfsek.terra.api.world.generation.TerraBlockPopulator;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
import com.dfsek.terra.bukkit.population.PopulationManager;
@@ -32,7 +31,7 @@ import java.util.Random;
import java.util.logging.Level;
import java.util.stream.Collectors;
public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements GeneratorWrapper {
public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements com.dfsek.terra.api.platform.world.generator.ChunkGenerator {
private static final Map<com.dfsek.terra.api.platform.world.World, PopulationManager> popMap = new HashMap<>();
@@ -123,7 +122,7 @@ public class BukkitChunkGeneratorWrapper extends ChunkGenerator implements Gener
@Override
public boolean shouldGenerateStructures() {
return super.shouldGenerateStructures();
return delegate.shouldGenerateStructures();
}
@Override