use caching provider in getBlock

This commit is contained in:
dfsek
2021-12-30 16:28:45 -07:00
parent d36fc7dec1
commit 121dd16652
3 changed files with 13 additions and 11 deletions

View File

@@ -108,10 +108,9 @@ public class NoiseChunkGenerator3D implements ChunkGenerator {
}
@Override
public BlockState getBlock(WorldProperties world, int x, int y, int z) {
BiomeProvider provider = configPack.getBiomeProvider();
Biome biome = provider.getBiome(x, z, world.getSeed());
Sampler3D sampler = samplerCache.get(x, z, world, configPack.getBiomeProvider());
public BlockState getBlock(WorldProperties world, int x, int y, int z, BiomeProvider biomeProvider) {
Biome biome = biomeProvider.getBiome(x, z, world.getSeed());
Sampler3D sampler = samplerCache.get(x, z, world, biomeProvider);
PaletteInfo paletteInfo = biome.getContext().get(PaletteInfo.class);

View File

@@ -22,13 +22,13 @@ public interface ChunkGenerator {
void generateChunkData(@NotNull ProtoChunk chunk, @NotNull WorldProperties world, @NotNull BiomeProvider biomeProvider,
int chunkX, int chunkZ);
BlockState getBlock(WorldProperties world, int x, int y, int z);
BlockState getBlock(WorldProperties world, int x, int y, int z, BiomeProvider biomeProvider);
default BlockState getBlock(WorldProperties world, Vector3 vector3) {
return getBlock(world, vector3.getBlockX(), vector3.getBlockY(), vector3.getBlockZ());
default BlockState getBlock(WorldProperties world, Vector3 vector3, BiomeProvider biomeProvider) {
return getBlock(world, vector3.getBlockX(), vector3.getBlockY(), vector3.getBlockZ(), biomeProvider);
}
default BlockState getBlock(WorldProperties world, Vector3Int vector3) {
return getBlock(world, vector3.getX(), vector3.getY(), vector3.getZ());
default BlockState getBlock(WorldProperties world, Vector3Int vector3, BiomeProvider biomeProvider) {
return getBlock(world, vector3.getX(), vector3.getY(), vector3.getZ(), biomeProvider);
}
}