mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-22 08:44:01 +00:00
Use new Location objects instead of mutating Entity->location directly
I'm actually not a big fan of needing to recreate the whole thing just to modify the coordinates. This seems kind of stupid.
This commit is contained in:
parent
db7fb25196
commit
626680c6c1
@ -1192,9 +1192,14 @@ abstract class Entity{
|
||||
$this->boundingBox = $moveBB;
|
||||
}
|
||||
|
||||
$this->location->x = ($this->boundingBox->minX + $this->boundingBox->maxX) / 2;
|
||||
$this->location->y = $this->boundingBox->minY - $this->ySize;
|
||||
$this->location->z = ($this->boundingBox->minZ + $this->boundingBox->maxZ) / 2;
|
||||
$this->location = new Location(
|
||||
($this->boundingBox->minX + $this->boundingBox->maxX) / 2,
|
||||
$this->boundingBox->minY - $this->ySize,
|
||||
($this->boundingBox->minZ + $this->boundingBox->maxZ) / 2,
|
||||
$this->location->yaw,
|
||||
$this->location->pitch,
|
||||
$this->location->world
|
||||
);
|
||||
|
||||
$this->checkChunks();
|
||||
$this->checkBlockCollision();
|
||||
@ -1301,9 +1306,12 @@ abstract class Entity{
|
||||
}
|
||||
}
|
||||
|
||||
$this->location->x = $pos->x;
|
||||
$this->location->y = $pos->y;
|
||||
$this->location->z = $pos->z;
|
||||
$this->location = Location::fromObject(
|
||||
$pos,
|
||||
$this->location->world,
|
||||
$this->location->yaw,
|
||||
$this->location->pitch
|
||||
);
|
||||
|
||||
$this->recalculateBoundingBox();
|
||||
|
||||
|
@ -219,9 +219,12 @@ abstract class Projectile extends Entity{
|
||||
}
|
||||
}
|
||||
|
||||
$this->location->x = $end->x;
|
||||
$this->location->y = $end->y;
|
||||
$this->location->z = $end->z;
|
||||
$this->location = Location::fromObject(
|
||||
$end,
|
||||
$this->location->world,
|
||||
$this->location->yaw,
|
||||
$this->location->pitch
|
||||
);
|
||||
$this->recalculateBoundingBox();
|
||||
|
||||
if($hitResult !== null){
|
||||
|
Loading…
x
Reference in New Issue
Block a user