diff --git a/src/pocketmine/entity/projectile/Egg.php b/src/pocketmine/entity/projectile/Egg.php index c35605d13..32126ace9 100644 --- a/src/pocketmine/entity/projectile/Egg.php +++ b/src/pocketmine/entity/projectile/Egg.php @@ -23,8 +23,20 @@ declare(strict_types=1); namespace pocketmine\entity\projectile; +use pocketmine\event\entity\ProjectileHitEvent; +use pocketmine\item\Item; +use pocketmine\item\ItemFactory; +use pocketmine\level\particle\ItemBreakParticle; + class Egg extends Throwable{ public const NETWORK_ID = self::EGG; //TODO: spawn chickens on collision + + protected function onHit(ProjectileHitEvent $event) : void{ + for($i = 0; $i < 6; ++$i){ + $this->level->addParticle(new ItemBreakParticle($this, ItemFactory::get(Item::EGG))); + } + parent::onHit($event); + } } diff --git a/src/pocketmine/entity/projectile/Snowball.php b/src/pocketmine/entity/projectile/Snowball.php index c5aa91939..d843a3a7f 100644 --- a/src/pocketmine/entity/projectile/Snowball.php +++ b/src/pocketmine/entity/projectile/Snowball.php @@ -23,7 +23,16 @@ declare(strict_types=1); namespace pocketmine\entity\projectile; +use pocketmine\event\entity\ProjectileHitEvent; +use pocketmine\level\particle\SnowballPoofParticle; + class Snowball extends Throwable{ public const NETWORK_ID = self::SNOWBALL; + protected function onHit(ProjectileHitEvent $event) : void{ + for($i = 0; $i < 6; ++$i){ + $this->level->addParticle(new SnowballPoofParticle($this)); + } + parent::onHit($event); + } } diff --git a/src/pocketmine/level/particle/SnowballPoofParticle.php b/src/pocketmine/level/particle/SnowballPoofParticle.php new file mode 100644 index 000000000..83156d96d --- /dev/null +++ b/src/pocketmine/level/particle/SnowballPoofParticle.php @@ -0,0 +1,32 @@ +