diff --git a/src/pocketmine/level/Level.php b/src/pocketmine/level/Level.php index 45f517112..4a3c52489 100644 --- a/src/pocketmine/level/Level.php +++ b/src/pocketmine/level/Level.php @@ -73,6 +73,7 @@ use pocketmine\nbt\tag\StringTag; use pocketmine\network\mcpe\ChunkRequestTask; use pocketmine\network\mcpe\CompressBatchPromise; use pocketmine\network\mcpe\protocol\AddEntityPacket; +use pocketmine\network\mcpe\protocol\BlockEntityDataPacket; use pocketmine\network\mcpe\protocol\ClientboundPacket; use pocketmine\network\mcpe\protocol\LevelEventPacket; use pocketmine\network\mcpe\protocol\LevelSoundEventPacket; @@ -982,7 +983,12 @@ class Level implements ChunkManager, Metadatable{ $tile = $this->getTileAt($b->x, $b->y, $b->z); if($tile instanceof Spawnable){ - $packets[] = $tile->createSpawnPacket(); + $tilepk = new BlockEntityDataPacket(); + $tilepk->x = $tile->x; + $tilepk->y = $tile->y; + $tilepk->z = $tile->z; + $tilepk->namedtag = $tile->getSerializedSpawnCompound(); + $packets[] = $tilepk; } } diff --git a/src/pocketmine/tile/Spawnable.php b/src/pocketmine/tile/Spawnable.php index d16eee621..2e155acf6 100644 --- a/src/pocketmine/tile/Spawnable.php +++ b/src/pocketmine/tile/Spawnable.php @@ -27,7 +27,6 @@ use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\tag\IntTag; use pocketmine\nbt\tag\StringTag; use pocketmine\network\mcpe\NetworkNbtSerializer; -use pocketmine\network\mcpe\protocol\BlockEntityDataPacket; use pocketmine\Player; use function get_class; @@ -40,16 +39,6 @@ abstract class Spawnable extends Tile{ /** @var NetworkNbtSerializer|null */ private static $nbtWriter = null; - public function createSpawnPacket() : BlockEntityDataPacket{ - $pk = new BlockEntityDataPacket(); - $pk->x = $this->x; - $pk->y = $this->y; - $pk->z = $this->z; - $pk->namedtag = $this->getSerializedSpawnCompound(); - - return $pk; - } - /** * Flags the tile as modified, so that updates will be broadcasted at the next available opportunity. * This MUST be called any time a change is made that players must be able to see.