mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-05-13 09:19:42 +00:00
Vine: cleanup BB calculation
This commit is contained in:
parent
54e19a6d2f
commit
ed8b8a13a3
@ -72,32 +72,27 @@ class Vine extends Flowable{
|
|||||||
|
|
||||||
protected function recalculateBoundingBox() : ?AxisAlignedBB{
|
protected function recalculateBoundingBox() : ?AxisAlignedBB{
|
||||||
$minX = 1;
|
$minX = 1;
|
||||||
$minY = 1;
|
|
||||||
$minZ = 1;
|
$minZ = 1;
|
||||||
$maxX = 0;
|
$maxX = 0;
|
||||||
$maxY = 0;
|
|
||||||
$maxZ = 0;
|
$maxZ = 0;
|
||||||
|
|
||||||
$flag = $this->meta > 0;
|
$minY = 0;
|
||||||
|
$hasSide = false;
|
||||||
|
|
||||||
if(($this->meta & self::FLAG_WEST) > 0){
|
if(($this->meta & self::FLAG_WEST) > 0){
|
||||||
$maxX = max($maxX, 0.0625);
|
$maxX = max($maxX, 0.0625);
|
||||||
$minX = 0;
|
$minX = 0;
|
||||||
$minY = 0;
|
|
||||||
$maxY = 1;
|
|
||||||
$minZ = 0;
|
$minZ = 0;
|
||||||
$maxZ = 1;
|
$maxZ = 1;
|
||||||
$flag = true;
|
$hasSide = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(($this->meta & self::FLAG_EAST) > 0){
|
if(($this->meta & self::FLAG_EAST) > 0){
|
||||||
$minX = min($minX, 0.9375);
|
$minX = min($minX, 0.9375);
|
||||||
$maxX = 1;
|
$maxX = 1;
|
||||||
$minY = 0;
|
|
||||||
$maxY = 1;
|
|
||||||
$minZ = 0;
|
$minZ = 0;
|
||||||
$maxZ = 1;
|
$maxZ = 1;
|
||||||
$flag = true;
|
$hasSide = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(($this->meta & self::FLAG_SOUTH) > 0){
|
if(($this->meta & self::FLAG_SOUTH) > 0){
|
||||||
@ -105,9 +100,7 @@ class Vine extends Flowable{
|
|||||||
$maxZ = 1;
|
$maxZ = 1;
|
||||||
$minX = 0;
|
$minX = 0;
|
||||||
$maxX = 1;
|
$maxX = 1;
|
||||||
$minY = 0;
|
$hasSide = true;
|
||||||
$maxY = 1;
|
|
||||||
$flag = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(($this->meta & self::FLAG_NORTH) > 0){
|
if(($this->meta & self::FLAG_NORTH) > 0){
|
||||||
@ -115,21 +108,18 @@ class Vine extends Flowable{
|
|||||||
$minZ = 0;
|
$minZ = 0;
|
||||||
$minX = 0;
|
$minX = 0;
|
||||||
$maxX = 1;
|
$maxX = 1;
|
||||||
$minY = 0;
|
$hasSide = true;
|
||||||
$maxY = 1;
|
|
||||||
$flag = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$flag and $this->getSide(Facing::UP)->isSolid()){
|
if(!$hasSide){
|
||||||
$minY = min($minY, 0.9375);
|
$minY = 0.9375;
|
||||||
$maxY = 1;
|
|
||||||
$minX = 0;
|
$minX = 0;
|
||||||
$maxX = 1;
|
$maxX = 1;
|
||||||
$minZ = 0;
|
$minZ = 0;
|
||||||
$maxZ = 1;
|
$maxZ = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
return new AxisAlignedBB($minX, $minY, $minZ, $maxX, $maxY, $maxZ);
|
return new AxisAlignedBB($minX, $minY, $minZ, $maxX, 1, $maxZ);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{
|
public function place(Item $item, Block $blockReplace, Block $blockClicked, int $face, Vector3 $clickVector, Player $player = null) : bool{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user