entity position: make biome lazy

This commit is contained in:
Moritz Zwerger 2023-12-07 22:44:31 +01:00
parent 0bbab0ca3c
commit ca59a7ce61
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4

View File

@ -43,10 +43,11 @@ class EntityPositionInfo(
val chunk: Chunk?,
val block: BlockState?,
val velocityBlock: BlockState?,
val biome: Biome?,
) {
val biome: Biome? get() = chunk?.getBiome(inChunkPosition)
companion object {
val EMPTY = EntityPositionInfo(0, ChunkPosition.EMPTY, 0, BlockPosition.EMPTY, BlockPosition.EMPTY, InChunkSectionPosition.EMPTY, InChunkPosition.EMPTY, null, null, null, null)
val EMPTY = EntityPositionInfo(0, ChunkPosition.EMPTY, 0, BlockPosition.EMPTY, BlockPosition.EMPTY, InChunkSectionPosition.EMPTY, InChunkPosition.EMPTY, null, null, null)
fun of(physics: EntityPhysics<*>, previous: EntityPositionInfo = EMPTY): EntityPositionInfo {
@ -73,9 +74,8 @@ class EntityPositionInfo(
val block = chunk?.get(inChunkPosition)
val velocityBlock = chunk?.get(velocityPosition.inChunkPosition)
val biome = chunk?.getBiome(blockPosition.inChunkPosition)
return EntityPositionInfo(revision, chunkPosition, sectionHeight, blockPosition, eyePosition, inChunkPosition, inSectionPosition, chunk, block, velocityBlock, biome)
return EntityPositionInfo(revision, chunkPosition, sectionHeight, blockPosition, eyePosition, inChunkPosition, inSectionPosition, chunk, block, velocityBlock)
}
}
}