mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-07 02:21:46 +00:00
Player: fixed on-ground state not being updated when walking horizontally
it's possible to walk off a tower while flying without moving vertically, and this code previously wouldn't detect that, leaving a gaping hole in the anti-cheat.
This commit is contained in:
parent
58b665985e
commit
4274640845
@ -1487,14 +1487,11 @@ class Player extends Human implements CommandSender, ChunkLoader, IPlayer{
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected function checkGroundState(float $movX, float $movY, float $movZ, float $dx, float $dy, float $dz) : void{
|
protected function checkGroundState(float $movX, float $movY, float $movZ, float $dx, float $dy, float $dz) : void{
|
||||||
if(!$this->onGround or $movY != 0){
|
$bb = clone $this->boundingBox;
|
||||||
$bb = clone $this->boundingBox;
|
$bb->minY = $this->y - 0.2;
|
||||||
$bb->minY = $this->y - 0.2;
|
$bb->maxY = $this->y + 0.2;
|
||||||
$bb->maxY = $this->y + 0.2;
|
|
||||||
|
|
||||||
$this->onGround = count($this->level->getCollisionBlocks($bb, true)) > 0;
|
$this->onGround = $this->isCollided = count($this->level->getCollisionBlocks($bb, true)) > 0;
|
||||||
}
|
|
||||||
$this->isCollided = $this->onGround;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function canBeMovedByCurrents() : bool{
|
public function canBeMovedByCurrents() : bool{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user