From 29d8e7eed429fa4b5be83740012b6a253fb23b47 Mon Sep 17 00:00:00 2001 From: dfsek Date: Mon, 13 Jun 2022 10:07:08 -0700 Subject: [PATCH] caching biome provider in BukkitProtoWorld --- .../com/dfsek/terra/bukkit/world/BukkitProtoWorld.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java index 579fc4825..b2ad43954 100644 --- a/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java +++ b/platforms/bukkit/common/src/main/java/com/dfsek/terra/bukkit/world/BukkitProtoWorld.java @@ -1,5 +1,9 @@ package com.dfsek.terra.bukkit.world; +import com.dfsek.terra.api.util.generic.Lazy; + +import com.dfsek.terra.api.world.biome.generation.ChunkLocalCachingBiomeProvider; + import org.bukkit.Location; import org.bukkit.generator.LimitedRegion; import org.slf4j.Logger; @@ -31,9 +35,13 @@ public class BukkitProtoWorld implements ProtoWorld { private final LimitedRegion delegate; private final BlockState air; + private final ChunkLocalCachingBiomeProvider biomeProvider; + public BukkitProtoWorld(LimitedRegion delegate, BlockState air) { this.delegate = delegate; this.air = air; + this.biomeProvider = ((BukkitChunkGeneratorWrapper) delegate.getWorld().getGenerator()).getPack().getBiomeProvider().caching(new BukkitWorldProperties( + delegate.getWorld()), delegate.getCenterChunkX(), delegate.getCenterChunkZ()); } @Override @@ -90,7 +98,7 @@ public class BukkitProtoWorld implements ProtoWorld { @Override public BiomeProvider getBiomeProvider() { - return ((BukkitChunkGeneratorWrapper) delegate.getWorld().getGenerator()).getPack().getBiomeProvider(); + return biomeProvider; } @Override