mirror of
https://github.com/PolyhedralDev/Terra.git
synced 2026-06-17 22:31:52 +00:00
use ChunkLocalCachingBiomeProvider
This commit is contained in:
@@ -99,4 +99,8 @@ public interface BiomeProvider {
|
|||||||
default CachingBiomeProvider caching(WorldProperties worldProperties) {
|
default CachingBiomeProvider caching(WorldProperties worldProperties) {
|
||||||
return caching(worldProperties.getMinHeight(), worldProperties.getMaxHeight());
|
return caching(worldProperties.getMinHeight(), worldProperties.getMaxHeight());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
default ChunkLocalCachingBiomeProvider caching(WorldProperties worldProperties, int chunkX, int chunkZ) {
|
||||||
|
return new ChunkLocalCachingBiomeProvider(this, worldProperties, chunkX, chunkZ);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -19,7 +19,7 @@ import java.util.Optional;
|
|||||||
*/
|
*/
|
||||||
public class ChunkLocalCachingBiomeProvider extends CachingBiomeProvider {
|
public class ChunkLocalCachingBiomeProvider extends CachingBiomeProvider {
|
||||||
private final Biome[][][] cache;
|
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 chunkX;
|
||||||
private final int chunkZ;
|
private final int chunkZ;
|
||||||
|
|||||||
+2
-1
@@ -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,
|
public CompletableFuture<Chunk> populateBiomes(Registry<Biome> biomeRegistry, Executor executor, NoiseConfig noiseConfig,
|
||||||
Blender blender, StructureAccessor structureAccessor, Chunk chunk) {
|
Blender blender, StructureAccessor structureAccessor, Chunk chunk) {
|
||||||
if(chunk instanceof net.minecraft.world.chunk.ProtoChunk) {
|
if(chunk instanceof net.minecraft.world.chunk.ProtoChunk) {
|
||||||
|
ChunkPos pos = chunk.getPos();
|
||||||
((BiomeProviderHolder) chunk)
|
((BiomeProviderHolder) chunk)
|
||||||
.setBiomeProvider(pack.getBiomeProvider()
|
.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);
|
return super.populateBiomes(biomeRegistry, executor, noiseConfig, blender, structureAccessor, chunk);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user