mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2025-07-03 16:35:50 +00:00
add caching option to config pack
This commit is contained in:
parent
8a2024e8d8
commit
78d34498d9
@ -5,6 +5,7 @@ import com.dfsek.terra.api.world.biome.Biome;
|
|||||||
|
|
||||||
import com.github.benmanes.caffeine.cache.Caffeine;
|
import com.github.benmanes.caffeine.cache.Caffeine;
|
||||||
import com.github.benmanes.caffeine.cache.LoadingCache;
|
import com.github.benmanes.caffeine.cache.LoadingCache;
|
||||||
|
import com.github.benmanes.caffeine.cache.Scheduler;
|
||||||
|
|
||||||
import java.util.Optional;
|
import java.util.Optional;
|
||||||
|
|
||||||
@ -25,6 +26,8 @@ public class CachingBiomeProvider implements BiomeProvider, Handle {
|
|||||||
this.res = delegate.resolution();
|
this.res = delegate.resolution();
|
||||||
this.cache = Caffeine
|
this.cache = Caffeine
|
||||||
.newBuilder()
|
.newBuilder()
|
||||||
|
.scheduler(Scheduler.disabledScheduler())
|
||||||
|
.initialCapacity(98304)
|
||||||
.maximumSize(98304) // 1 full chunk (high res)
|
.maximumSize(98304) // 1 full chunk (high res)
|
||||||
.build(vec -> delegate.getBiome(vec.x * res, vec.y * res, vec.z * res, vec.seed));
|
.build(vec -> delegate.getBiome(vec.x * res, vec.y * res, vec.z * res, vec.seed));
|
||||||
|
|
||||||
|
@ -231,7 +231,7 @@ public class ConfigPackImpl implements ConfigPack {
|
|||||||
|
|
||||||
ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate();
|
ConfigPackPostTemplate packPostTemplate = new ConfigPackPostTemplate();
|
||||||
selfLoader.load(packPostTemplate, packManifest);
|
selfLoader.load(packPostTemplate, packManifest);
|
||||||
seededBiomeProvider = packPostTemplate.getProviderBuilder();
|
seededBiomeProvider = template.getBiomeCache() ? packPostTemplate.getProviderBuilder().caching() : packPostTemplate.getProviderBuilder();
|
||||||
checkDeadEntries();
|
checkDeadEntries();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -107,6 +107,10 @@ public class ConfigPackTemplate implements ConfigTemplate {
|
|||||||
@Value("generator")
|
@Value("generator")
|
||||||
private @Meta ChunkGeneratorProvider generatorProvider;
|
private @Meta ChunkGeneratorProvider generatorProvider;
|
||||||
|
|
||||||
|
@Value("cache.biome.enable")
|
||||||
|
@Default
|
||||||
|
private boolean biomeCache = false;
|
||||||
|
|
||||||
public boolean disableCarvers() {
|
public boolean disableCarvers() {
|
||||||
return disableCarvers;
|
return disableCarvers;
|
||||||
}
|
}
|
||||||
@ -182,4 +186,8 @@ public class ConfigPackTemplate implements ConfigTemplate {
|
|||||||
public Map<String, String> getLocatable() {
|
public Map<String, String> getLocatable() {
|
||||||
return locatable;
|
return locatable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean getBiomeCache() {
|
||||||
|
return biomeCache;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user