separate generator and GeneratorWrapper

This commit is contained in:
dfsek
2021-03-06 10:04:25 -07:00
parent dc52dd635b
commit c8c3ab312b
5 changed files with 27 additions and 13 deletions

View File

@@ -0,0 +1,9 @@
package com.dfsek.terra.api.platform.world.generator;
import com.dfsek.terra.api.platform.Handle;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
public interface GeneratorWrapper extends Handle {
@Override
TerraChunkGenerator getHandle();
}

View File

@@ -7,6 +7,7 @@ import com.dfsek.terra.api.platform.entity.EntityType;
import com.dfsek.terra.api.platform.world.Chunk;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper;
import java.io.File;
import java.util.UUID;
@@ -24,12 +25,12 @@ public class DummyWorld implements World {
@Override
public int getMaxHeight() {
return 155;
return 255;
}
@Override
public ChunkGenerator getGenerator() {
return () -> (ChunkGenerator) () -> null;
return () -> (GeneratorWrapper) () -> null;
}
@Override

View File

@@ -6,7 +6,7 @@ import com.dfsek.terra.api.math.vector.Location;
import com.dfsek.terra.api.math.vector.Vector3;
import com.dfsek.terra.api.platform.block.BlockData;
import com.dfsek.terra.api.platform.world.World;
import com.dfsek.terra.api.platform.world.generator.ChunkGenerator;
import com.dfsek.terra.api.platform.world.generator.GeneratorWrapper;
import com.dfsek.terra.api.world.biome.UserDefinedBiome;
import com.dfsek.terra.api.world.biome.provider.BiomeProvider;
import com.dfsek.terra.api.world.generation.TerraChunkGenerator;
@@ -37,16 +37,16 @@ public class TerraWorld {
safe = true;
}
public TerraChunkGenerator getGenerator() {
return (TerraChunkGenerator) ((ChunkGenerator) world.getGenerator().getHandle()).getHandle();
public static boolean isTerraWorld(World w) {
return w.getGenerator().getHandle() instanceof GeneratorWrapper;
}
public World getWorld() {
return world;
}
public static boolean isTerraWorld(World w) {
return w.getGenerator().getHandle() instanceof ChunkGenerator;
public TerraChunkGenerator getGenerator() {
return ((GeneratorWrapper) world.getGenerator().getHandle()).getHandle();
}
public BiomeProvider getBiomeProvider() {