From 646455f6e8fdbad808d8c76ead2c7e4a58fefa7c Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Mon, 9 Apr 2018 16:26:15 +0100 Subject: [PATCH] fixed painting particles, removed DestroyParticle it didn't last long because they changed how this works... yuk --- src/pocketmine/entity/object/Painting.php | 6 ++- .../level/particle/DestroyBlockParticle.php | 18 +++++++- .../level/particle/DestroyParticle.php | 46 ------------------- 3 files changed, 20 insertions(+), 50 deletions(-) delete mode 100644 src/pocketmine/level/particle/DestroyParticle.php diff --git a/src/pocketmine/entity/object/Painting.php b/src/pocketmine/entity/object/Painting.php index d65ec028a..54e44a7d1 100644 --- a/src/pocketmine/entity/object/Painting.php +++ b/src/pocketmine/entity/object/Painting.php @@ -23,12 +23,14 @@ declare(strict_types=1); namespace pocketmine\entity\object; +use pocketmine\block\Block; +use pocketmine\block\BlockFactory; use pocketmine\entity\Entity; use pocketmine\event\entity\EntityDamageByEntityEvent; use pocketmine\item\Item; use pocketmine\item\ItemFactory; use pocketmine\level\Level; -use pocketmine\level\particle\DestroyParticle; +use pocketmine\level\particle\DestroyBlockParticle; use pocketmine\math\AxisAlignedBB; use pocketmine\math\Vector3; use pocketmine\nbt\tag\ByteTag; @@ -100,7 +102,7 @@ class Painting extends Entity{ //non-living entities don't have a way to create drops generically yet $this->level->dropItem($this, ItemFactory::get(Item::PAINTING)); } - $this->level->addParticle(new DestroyParticle($this->add(0.5, 0.5, 0.5), Item::PAINTING)); + $this->level->addParticle(new DestroyBlockParticle($this->add(0.5, 0.5, 0.5), BlockFactory::get(Block::PLANKS))); } protected function recalculateBoundingBox() : void{ diff --git a/src/pocketmine/level/particle/DestroyBlockParticle.php b/src/pocketmine/level/particle/DestroyBlockParticle.php index 68016dca9..203163e63 100644 --- a/src/pocketmine/level/particle/DestroyBlockParticle.php +++ b/src/pocketmine/level/particle/DestroyBlockParticle.php @@ -26,10 +26,24 @@ namespace pocketmine\level\particle; use pocketmine\block\Block; use pocketmine\block\BlockFactory; use pocketmine\math\Vector3; +use pocketmine\network\mcpe\protocol\LevelEventPacket; -class DestroyBlockParticle extends DestroyParticle{ +class DestroyBlockParticle extends Particle{ + + /** @var int */ + protected $data; public function __construct(Vector3 $pos, Block $b){ - parent::__construct($pos, BlockFactory::toStaticRuntimeId($b->getId(), $b->getDamage())); + parent::__construct($pos->x, $pos->y, $pos->z); + $this->data = BlockFactory::toStaticRuntimeId($b->getId(), $b->getDamage()); + } + + public function encode(){ + $pk = new LevelEventPacket; + $pk->evid = LevelEventPacket::EVENT_PARTICLE_DESTROY; + $pk->position = $this->asVector3(); + $pk->data = $this->data; + + return $pk; } } diff --git a/src/pocketmine/level/particle/DestroyParticle.php b/src/pocketmine/level/particle/DestroyParticle.php deleted file mode 100644 index 978151d49..000000000 --- a/src/pocketmine/level/particle/DestroyParticle.php +++ /dev/null @@ -1,46 +0,0 @@ -x, $pos->y, $pos->z); - $this->data = $data; - } - - public function encode(){ - $pk = new LevelEventPacket; - $pk->evid = LevelEventPacket::EVENT_PARTICLE_DESTROY; - $pk->position = $this->asVector3(); - $pk->data = $this->data; - - return $pk; - } -}