mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-09 23:39:43 +00:00
Painting: Clean up painful BB calculation code
This commit is contained in:
parent
db4dac6d45
commit
adf4639625
@ -178,49 +178,14 @@ class Painting extends Entity{
|
|||||||
$horizontalStart = (int) (ceil($width / 2) - 1);
|
$horizontalStart = (int) (ceil($width / 2) - 1);
|
||||||
$verticalStart = (int) (ceil($height / 2) - 1);
|
$verticalStart = (int) (ceil($height / 2) - 1);
|
||||||
|
|
||||||
$thickness = 1 / 16;
|
$bb = AxisAlignedBB::one()
|
||||||
|
->trim($facing, 15 / 16)
|
||||||
|
->extend(Facing::rotateY($facing, true), $horizontalStart)
|
||||||
|
->extend(Facing::rotateY($facing, false), -$horizontalStart + $width - 1)
|
||||||
|
->extend(Facing::DOWN, $verticalStart)
|
||||||
|
->extend(Facing::UP, -$verticalStart + $height - 1);
|
||||||
|
|
||||||
$minX = $maxX = 0;
|
return $bb->offset($blockIn->x, $blockIn->y, $blockIn->z);
|
||||||
$minZ = $maxZ = 0;
|
|
||||||
|
|
||||||
$minY = -$verticalStart;
|
|
||||||
$maxY = $minY + $height;
|
|
||||||
|
|
||||||
switch($facing){
|
|
||||||
case Facing::NORTH:
|
|
||||||
$minZ = 1 - $thickness;
|
|
||||||
$maxZ = 1;
|
|
||||||
$maxX = $horizontalStart + 1;
|
|
||||||
$minX = $maxX - $width;
|
|
||||||
break;
|
|
||||||
case Facing::SOUTH:
|
|
||||||
$minZ = 0;
|
|
||||||
$maxZ = $thickness;
|
|
||||||
$minX = -$horizontalStart;
|
|
||||||
$maxX = $minX + $width;
|
|
||||||
break;
|
|
||||||
case Facing::WEST:
|
|
||||||
$minX = 1 - $thickness;
|
|
||||||
$maxX = 1;
|
|
||||||
$minZ = -$horizontalStart;
|
|
||||||
$maxZ = $minZ + $width;
|
|
||||||
break;
|
|
||||||
case Facing::EAST:
|
|
||||||
$minX = 0;
|
|
||||||
$maxX = $thickness;
|
|
||||||
$maxZ = $horizontalStart + 1;
|
|
||||||
$minZ = $maxZ - $width;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return new AxisAlignedBB(
|
|
||||||
$blockIn->x + $minX,
|
|
||||||
$blockIn->y + $minY,
|
|
||||||
$blockIn->z + $minZ,
|
|
||||||
$blockIn->x + $maxX,
|
|
||||||
$blockIn->y + $maxY,
|
|
||||||
$blockIn->z + $maxZ
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
x
Reference in New Issue
Block a user