mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-10-20 07:39:42 +00:00
Living: fixed some update conditions not being set
This commit is contained in:
@@ -629,7 +629,9 @@ abstract class Living extends Entity implements Damageable{
|
|||||||
|
|
||||||
$hasUpdate = parent::entityBaseTick($tickDiff);
|
$hasUpdate = parent::entityBaseTick($tickDiff);
|
||||||
|
|
||||||
$this->doEffectsTick($tickDiff);
|
if($this->doEffectsTick($tickDiff)){
|
||||||
|
$hasUpdate = true;
|
||||||
|
}
|
||||||
|
|
||||||
if($this->isAlive()){
|
if($this->isAlive()){
|
||||||
if($this->isInsideOfSolid()){
|
if($this->isInsideOfSolid()){
|
||||||
@@ -641,6 +643,7 @@ abstract class Living extends Entity implements Damageable{
|
|||||||
if(!$this->canBreathe()){
|
if(!$this->canBreathe()){
|
||||||
$this->setBreathing(false);
|
$this->setBreathing(false);
|
||||||
$this->doAirSupplyTick($tickDiff);
|
$this->doAirSupplyTick($tickDiff);
|
||||||
|
$hasUpdate = true;
|
||||||
}elseif(!$this->isBreathing()){
|
}elseif(!$this->isBreathing()){
|
||||||
$this->setBreathing(true);
|
$this->setBreathing(true);
|
||||||
$this->setAirSupplyTicks($this->getMaxAirSupplyTicks());
|
$this->setAirSupplyTicks($this->getMaxAirSupplyTicks());
|
||||||
@@ -656,7 +659,7 @@ abstract class Living extends Entity implements Damageable{
|
|||||||
return $hasUpdate;
|
return $hasUpdate;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function doEffectsTick(int $tickDiff = 1) : void{
|
protected function doEffectsTick(int $tickDiff = 1) : bool{
|
||||||
foreach($this->effects as $instance){
|
foreach($this->effects as $instance){
|
||||||
$type = $instance->getType();
|
$type = $instance->getType();
|
||||||
if($type->canTick($instance)){
|
if($type->canTick($instance)){
|
||||||
@@ -667,6 +670,8 @@ abstract class Living extends Entity implements Damageable{
|
|||||||
$this->removeEffect($instance->getId());
|
$this->removeEffect($instance->getId());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return !empty($this->effects);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user