mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-15 10:19:39 +00:00
Typehinted AxisAlignedBB
This commit is contained in:
parent
57e7c3d91f
commit
3150c50cac
@ -27,14 +27,20 @@ use pocketmine\level\MovingObjectPosition;
|
||||
|
||||
class AxisAlignedBB{
|
||||
|
||||
/** @var float */
|
||||
public $minX;
|
||||
/** @var float */
|
||||
public $minY;
|
||||
/** @var float */
|
||||
public $minZ;
|
||||
/** @var float */
|
||||
public $maxX;
|
||||
/** @var float */
|
||||
public $maxY;
|
||||
/** @var float */
|
||||
public $maxZ;
|
||||
|
||||
public function __construct($minX, $minY, $minZ, $maxX, $maxY, $maxZ){
|
||||
public function __construct(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ){
|
||||
$this->minX = $minX;
|
||||
$this->minY = $minY;
|
||||
$this->minZ = $minZ;
|
||||
@ -43,7 +49,7 @@ class AxisAlignedBB{
|
||||
$this->maxZ = $maxZ;
|
||||
}
|
||||
|
||||
public function setBounds($minX, $minY, $minZ, $maxX, $maxY, $maxZ){
|
||||
public function setBounds(float $minX, float $minY, float $minZ, float $maxX, float $maxY, float $maxZ){
|
||||
$this->minX = $minX;
|
||||
$this->minY = $minY;
|
||||
$this->minZ = $minZ;
|
||||
@ -54,7 +60,7 @@ class AxisAlignedBB{
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function addCoord($x, $y, $z) : AxisAlignedBB{
|
||||
public function addCoord(float $x, float $y, float $z) : AxisAlignedBB{
|
||||
$minX = $this->minX;
|
||||
$minY = $this->minY;
|
||||
$minZ = $this->minZ;
|
||||
@ -83,11 +89,11 @@ class AxisAlignedBB{
|
||||
return new AxisAlignedBB($minX, $minY, $minZ, $maxX, $maxY, $maxZ);
|
||||
}
|
||||
|
||||
public function grow($x, $y, $z) : AxisAlignedBB{
|
||||
public function grow(float $x, float $y, float $z) : AxisAlignedBB{
|
||||
return new AxisAlignedBB($this->minX - $x, $this->minY - $y, $this->minZ - $z, $this->maxX + $x, $this->maxY + $y, $this->maxZ + $z);
|
||||
}
|
||||
|
||||
public function expand($x, $y, $z){
|
||||
public function expand(float $x, float $y, float $z){
|
||||
$this->minX -= $x;
|
||||
$this->minY -= $y;
|
||||
$this->minZ -= $z;
|
||||
@ -98,7 +104,7 @@ class AxisAlignedBB{
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function offset($x, $y, $z){
|
||||
public function offset(float $x, float $y, float $z){
|
||||
$this->minX += $x;
|
||||
$this->minY += $y;
|
||||
$this->minZ += $z;
|
||||
@ -109,11 +115,11 @@ class AxisAlignedBB{
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function shrink($x, $y, $z) : AxisAlignedBB{
|
||||
public function shrink(float $x, float $y, float $z) : AxisAlignedBB{
|
||||
return new AxisAlignedBB($this->minX + $x, $this->minY + $y, $this->minZ + $z, $this->maxX - $x, $this->maxY - $y, $this->maxZ - $z);
|
||||
}
|
||||
|
||||
public function contract($x, $y, $z){
|
||||
public function contract(float $x, float $y, float $z){
|
||||
$this->minX += $x;
|
||||
$this->minY += $y;
|
||||
$this->minZ += $z;
|
||||
@ -138,7 +144,7 @@ class AxisAlignedBB{
|
||||
return new AxisAlignedBB($this->minX + $x, $this->minY + $y, $this->minZ + $z, $this->maxX + $x, $this->maxY + $y, $this->maxZ + $z);
|
||||
}
|
||||
|
||||
public function calculateXOffset(AxisAlignedBB $bb, $x){
|
||||
public function calculateXOffset(AxisAlignedBB $bb, float $x) : float{
|
||||
if($bb->maxY <= $this->minY or $bb->minY >= $this->maxY){
|
||||
return $x;
|
||||
}
|
||||
@ -161,7 +167,7 @@ class AxisAlignedBB{
|
||||
return $x;
|
||||
}
|
||||
|
||||
public function calculateYOffset(AxisAlignedBB $bb, $y){
|
||||
public function calculateYOffset(AxisAlignedBB $bb, float $y) : float{
|
||||
if($bb->maxX <= $this->minX or $bb->minX >= $this->maxX){
|
||||
return $y;
|
||||
}
|
||||
@ -184,7 +190,7 @@ class AxisAlignedBB{
|
||||
return $y;
|
||||
}
|
||||
|
||||
public function calculateZOffset(AxisAlignedBB $bb, $z){
|
||||
public function calculateZOffset(AxisAlignedBB $bb, float $z) : float{
|
||||
if($bb->maxX <= $this->minX or $bb->minX >= $this->maxX){
|
||||
return $z;
|
||||
}
|
||||
@ -228,7 +234,7 @@ class AxisAlignedBB{
|
||||
return $vector->z > $this->minZ and $vector->z < $this->maxZ;
|
||||
}
|
||||
|
||||
public function getAverageEdgeLength(){
|
||||
public function getAverageEdgeLength() : float{
|
||||
return ($this->maxX - $this->minX + $this->maxY - $this->minY + $this->maxZ - $this->minZ) / 3;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user