mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-02-16 10:30:42 +00:00
use ChunkLocalCachingBiomeProvider
This commit is contained in:
@@ -99,4 +99,8 @@ public interface BiomeProvider {
|
||||
default CachingBiomeProvider caching(WorldProperties worldProperties) {
|
||||
return caching(worldProperties.getMinHeight(), worldProperties.getMaxHeight());
|
||||
}
|
||||
|
||||
default ChunkLocalCachingBiomeProvider caching(WorldProperties worldProperties, int chunkX, int chunkZ) {
|
||||
return new ChunkLocalCachingBiomeProvider(this, worldProperties, chunkX, chunkZ);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ import java.util.Optional;
|
||||
*/
|
||||
public class ChunkLocalCachingBiomeProvider extends CachingBiomeProvider {
|
||||
private final Biome[][][] cache;
|
||||
private final Column<Biome>[][] columnCache = new Column<>[16][16];
|
||||
private final Column<Biome>[][] columnCache = new Column[16][16];
|
||||
|
||||
private final int chunkX;
|
||||
private final int chunkZ;
|
||||
|
||||
@@ -92,9 +92,10 @@ public class FabricChunkGeneratorWrapper extends net.minecraft.world.gen.chunk.C
|
||||
public CompletableFuture<Chunk> populateBiomes(Registry<Biome> biomeRegistry, Executor executor, NoiseConfig noiseConfig,
|
||||
Blender blender, StructureAccessor structureAccessor, Chunk chunk) {
|
||||
if(chunk instanceof net.minecraft.world.chunk.ProtoChunk) {
|
||||
ChunkPos pos = chunk.getPos();
|
||||
((BiomeProviderHolder) chunk)
|
||||
.setBiomeProvider(pack.getBiomeProvider()
|
||||
.caching((ProtoWorld) ((StructureAccessorAccessor) structureAccessor).getWorld()));
|
||||
.caching((ProtoWorld) ((StructureAccessorAccessor) structureAccessor).getWorld(), pos.x, pos.z));
|
||||
}
|
||||
return super.populateBiomes(biomeRegistry, executor, noiseConfig, blender, structureAccessor, chunk);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user