From ccd2cdd324ca7413b7a0975fd016f097b30c61a9 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Thu, 19 Oct 2023 13:13:46 +0100 Subject: [PATCH] World: improve performance of calculating non-cached AABBs for a cell Avoiding getSide() improved the performance by 2x ... --- src/world/World.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/world/World.php b/src/world/World.php index c2236b981..d017fedcd 100644 --- a/src/world/World.php +++ b/src/world/World.php @@ -1531,8 +1531,8 @@ class World implements ChunkManager{ $boxes = $block->getCollisionBoxes(); $cellBB = AxisAlignedBB::one()->offset($x, $y, $z); - foreach(Facing::ALL as $facing){ - $extraBoxes = $block->getSide($facing)->getCollisionBoxes(); + foreach(Facing::OFFSET as [$dx, $dy, $dz]){ + $extraBoxes = $this->getBlockAt($x + $dx, $y + $dy, $z + $dz)->getCollisionBoxes(); foreach($extraBoxes as $extraBox){ if($extraBox->intersectsWith($cellBB)){ $boxes[] = $extraBox;