diff --git a/src/VersionInfo.php b/src/VersionInfo.php index 55495a959..93e593133 100644 --- a/src/VersionInfo.php +++ b/src/VersionInfo.php @@ -31,8 +31,8 @@ use function str_repeat; final class VersionInfo{ public const NAME = "PocketMine-MP"; - public const BASE_VERSION = "5.34.0"; - public const IS_DEVELOPMENT_BUILD = false; + public const BASE_VERSION = "5.34.1"; + public const IS_DEVELOPMENT_BUILD = true; public const BUILD_CHANNEL = "stable"; /** diff --git a/src/entity/object/EndCrystal.php b/src/entity/object/EndCrystal.php index 74c7664bf..2b79773dc 100644 --- a/src/entity/object/EndCrystal.php +++ b/src/entity/object/EndCrystal.php @@ -52,6 +52,8 @@ class EndCrystal extends Entity implements Explosive{ protected bool $showBase = false; protected ?Vector3 $beamTarget = null; + private bool $primed = false; + protected function getInitialSizeInfo() : EntitySizeInfo{ return new EntitySizeInfo(2.0, 2.0); } protected function getInitialDragMultiplier() : float{ return 1.0; } @@ -88,11 +90,9 @@ class EndCrystal extends Entity implements Explosive{ parent::attack($source); if( $source->getCause() !== EntityDamageEvent::CAUSE_VOID && - !$this->isFlaggedForDespawn() && !$source->isCancelled() ){ - $this->flagForDespawn(); - $this->explode(); + $this->primed = true; } } @@ -125,6 +125,13 @@ class EndCrystal extends Entity implements Explosive{ return $nbt; } + protected function onDeathUpdate(int $tickDiff) : bool{ + if($this->primed){ + $this->explode(); + } + return true; + } + public function explode() : void{ $ev = new EntityPreExplodeEvent($this, 6); $ev->call();