World -> ServerWorld

This commit is contained in:
dfsek
2021-11-28 16:36:29 -07:00
parent da34aeed42
commit 4287ff8a3c
37 changed files with 122 additions and 122 deletions

View File

@@ -22,14 +22,13 @@ import com.dfsek.terra.api.block.state.BlockState;
import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.entity.Entity;
import com.dfsek.terra.api.entity.EntityType;
import com.dfsek.terra.api.util.vector.Vector3;
import com.dfsek.terra.api.world.chunk.Chunk;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.access.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.chunk.generation.ChunkGenerator;
public class DummyWorld implements World {
public class DummyServerWorld implements ServerWorld {
@Override
public Entity spawnEntity(double x, double y, double z, EntityType entityType) {
throw new UnsupportedOperationException("Cannot spawn entity in DummyWorld");

View File

@@ -30,6 +30,9 @@ import com.dfsek.tectonic.loading.TypeLoader;
import com.dfsek.tectonic.loading.TypeRegistry;
import com.dfsek.tectonic.loading.object.ObjectTemplate;
import com.dfsek.tectonic.yaml.YamlConfiguration;
import com.dfsek.terra.api.world.access.ServerWorld;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -73,11 +76,10 @@ import com.dfsek.terra.api.registry.exception.DuplicateEntryException;
import com.dfsek.terra.api.registry.meta.RegistryFactory;
import com.dfsek.terra.api.util.generic.pair.Pair;
import com.dfsek.terra.api.util.reflection.ReflectionUtil;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
import com.dfsek.terra.config.dummy.DummyWorld;
import com.dfsek.terra.config.dummy.DummyServerWorld;
import com.dfsek.terra.config.fileloaders.FolderLoader;
import com.dfsek.terra.config.fileloaders.ZIPLoader;
import com.dfsek.terra.config.loaders.GenericTemplateSupplierLoader;
@@ -164,7 +166,7 @@ public class ConfigPackImpl implements ConfigPack {
logger.error("Failed to load config pack from folder \"{}\"", folder.getAbsolutePath(), e);
throw e;
}
toWorldConfig(new DummyWorld()); // Build now to catch any errors immediately.
toWorldConfig(new DummyServerWorld()); // Build now to catch any errors immediately.
}
public ConfigPackImpl(ZipFile file, Platform platform) throws ConfigException {
@@ -218,7 +220,7 @@ public class ConfigPackImpl implements ConfigPack {
throw e;
}
toWorldConfig(new DummyWorld()); // Build now to catch any errors immediately.
toWorldConfig(new DummyServerWorld()); // Build now to catch any errors immediately.
}
@Override
@@ -244,7 +246,7 @@ public class ConfigPackImpl implements ConfigPack {
}
@Override
public WorldConfigImpl toWorldConfig(World world) {
public WorldConfigImpl toWorldConfig(ServerWorld world) {
return new WorldConfigImpl(world, this, platform);
}

View File

@@ -25,7 +25,7 @@ import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.config.ConfigPack;
import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.world.access.World;
import com.dfsek.terra.api.world.access.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.SamplerCache;
import com.dfsek.terra.registry.LockedRegistryImpl;
@@ -37,12 +37,12 @@ public class WorldConfigImpl implements WorldConfig {
private final BiomeProvider provider;
private final World world;
private final ServerWorld world;
private final ConfigPackImpl pack;
private final Map<Type, Registry<?>> registryMap = new HashMap<>();
public WorldConfigImpl(World world, ConfigPackImpl pack, Platform platform) {
public WorldConfigImpl(ServerWorld world, ConfigPackImpl pack, Platform platform) {
this.world = world;
this.pack = pack;
this.samplerCache = new SamplerCacheImpl(platform, world);
@@ -89,7 +89,7 @@ public class WorldConfigImpl implements WorldConfig {
}
@Override
public World getWorld() {
public ServerWorld getWorld() {
return world;
}

View File

@@ -17,6 +17,7 @@
package com.dfsek.terra.world;
import com.dfsek.terra.api.world.access.ServerWorld;
import com.dfsek.terra.api.world.generator.SamplerCache;
import com.google.common.cache.CacheBuilder;
@@ -28,13 +29,12 @@ import org.jetbrains.annotations.NotNull;
import com.dfsek.terra.api.Platform;
import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.util.math.Sampler;
import com.dfsek.terra.api.world.access.World;
public class SamplerCacheImpl implements SamplerCache {
private final LoadingCache<Long, Sampler> cache;
public SamplerCacheImpl(Platform platform, World world) {
public SamplerCacheImpl(Platform platform, ServerWorld world) {
cache = CacheBuilder.newBuilder().maximumSize(platform.getTerraConfig().getSamplerCache())
.build(new CacheLoader<>() {
@Override