World: improve performance of calculating non-cached AABBs for a cell

Avoiding getSide() improved the performance by 2x ...
This commit is contained in:
Dylan K. Taylor 2023-10-19 13:13:46 +01:00
parent c7a358a56f
commit ccd2cdd324
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D

View File

@ -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;