finish refactoring world api

This commit is contained in:
dfsek
2021-11-28 16:51:04 -07:00
parent 6b9dfc5d43
commit 397c464fb2
47 changed files with 60 additions and 70 deletions

View File

@@ -77,8 +77,8 @@ 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.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
import com.dfsek.terra.config.dummy.DummyServerWorld;
import com.dfsek.terra.config.fileloaders.FolderLoader;
import com.dfsek.terra.config.fileloaders.ZIPLoader;

View File

@@ -26,8 +26,8 @@ import java.util.List;
import java.util.Map;
import com.dfsek.terra.api.config.meta.Meta;
import com.dfsek.terra.api.world.generator.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.generator.GenerationStageProvider;
import com.dfsek.terra.api.world.chunk.generation.util.provider.ChunkGeneratorProvider;
import com.dfsek.terra.api.world.chunk.generation.util.provider.GenerationStageProvider;
@SuppressWarnings({ "unused", "FieldMayBeFinal" })

View File

@@ -27,13 +27,13 @@ import com.dfsek.terra.api.config.WorldConfig;
import com.dfsek.terra.api.registry.Registry;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.biome.generation.BiomeProvider;
import com.dfsek.terra.api.world.generator.SamplerCache;
import com.dfsek.terra.api.world.chunk.generation.util.math.SamplerProvider;
import com.dfsek.terra.registry.LockedRegistryImpl;
import com.dfsek.terra.world.SamplerCacheImpl;
import com.dfsek.terra.world.SamplerProviderImpl;
public class WorldConfigImpl implements WorldConfig {
private final SamplerCache samplerCache;
private final SamplerProvider samplerProvider;
private final BiomeProvider provider;
@@ -45,7 +45,7 @@ public class WorldConfigImpl implements WorldConfig {
public WorldConfigImpl(ServerWorld world, ConfigPackImpl pack, Platform platform) {
this.world = world;
this.pack = pack;
this.samplerCache = new SamplerCacheImpl(platform, world);
this.samplerProvider = new SamplerProviderImpl(platform, world);
pack.getRegistryMap().forEach((clazz, pair) -> registryMap.put(clazz, new LockedRegistryImpl<>(pair.getLeft())));
@@ -94,8 +94,8 @@ public class WorldConfigImpl implements WorldConfig {
}
@Override
public SamplerCache getSamplerCache() {
return samplerCache;
public SamplerProvider getSamplerCache() {
return samplerProvider;
}
@Override

View File

@@ -18,7 +18,7 @@
package com.dfsek.terra.world;
import com.dfsek.terra.api.world.ServerWorld;
import com.dfsek.terra.api.world.generator.SamplerCache;
import com.dfsek.terra.api.world.chunk.generation.util.math.SamplerProvider;
import com.google.common.cache.CacheBuilder;
import com.google.common.cache.CacheLoader;
@@ -31,10 +31,10 @@ import com.dfsek.terra.api.util.MathUtil;
import com.dfsek.terra.api.util.math.Sampler;
public class SamplerCacheImpl implements SamplerCache {
public class SamplerProviderImpl implements SamplerProvider {
private final LoadingCache<Long, Sampler> cache;
public SamplerCacheImpl(Platform platform, ServerWorld world) {
public SamplerProviderImpl(Platform platform, ServerWorld world) {
cache = CacheBuilder.newBuilder().maximumSize(platform.getTerraConfig().getSamplerCache())
.build(new CacheLoader<>() {
@Override
@@ -54,12 +54,6 @@ public class SamplerCacheImpl implements SamplerCache {
return getChunk(cx, cz);
}
@Override
public void clear() {
cache.invalidateAll();
cache.cleanUp();
}
@Override
public Sampler getChunk(int cx, int cz) {
long key = MathUtil.squash(cx, cz);