diff --git a/src/command/defaults/ParticleCommand.php b/src/command/defaults/ParticleCommand.php index ef0df87df..814c7e0bc 100644 --- a/src/command/defaults/ParticleCommand.php +++ b/src/command/defaults/ParticleCommand.php @@ -156,7 +156,7 @@ class ParticleCommand extends VanillaCommand{ case "smoke": return new SmokeParticle($data ?? 0); case "spell": - return new EnchantParticle(); + return new EnchantParticle(new Color(0, 0, 0, 255)); //TODO: colour support case "instantspell": return new InstantEnchantParticle(new Color(0, 0, 0, 255)); //TODO: colour support case "dripwater": diff --git a/src/world/particle/EnchantParticle.php b/src/world/particle/EnchantParticle.php index 8925f7a08..db42ea309 100644 --- a/src/world/particle/EnchantParticle.php +++ b/src/world/particle/EnchantParticle.php @@ -23,13 +23,21 @@ declare(strict_types=1); namespace pocketmine\world\particle; +use pocketmine\color\Color; use pocketmine\math\Vector3; use pocketmine\network\mcpe\protocol\LevelEventPacket; use pocketmine\network\mcpe\protocol\types\ParticleIds; class EnchantParticle implements Particle{ + /** @var Color */ + private $color; + + public function __construct(Color $color){ + $this->color = $color; + } + public function encode(Vector3 $pos){ - return LevelEventPacket::standardParticle(ParticleIds::MOB_SPELL, 0, $pos); + return LevelEventPacket::standardParticle(ParticleIds::MOB_SPELL, $this->color->toARGB(), $pos); } }