diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index 6320bdb37..6a66cc5de 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -1737,6 +1737,7 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ break; } $target = $this->getLevel()->getBlock($vector); + $tile = $this->getLevel()->getTile($vector); $pk = new UpdateBlockPacket; $pk->x = $target->x; $pk->y = $target->y; @@ -1744,6 +1745,9 @@ class Player extends Human implements CommandSender, InventoryHolder, IPlayer{ $pk->block = $target->getID(); $pk->meta = $target->getDamage(); $this->directDataPacket($pk); + if($tile instanceof Spawnable){ + $tile->spawnTo($this); + } break; case ProtocolInfo::PLAYER_ARMOR_EQUIPMENT_PACKET: if($this->spawned === false or $this->blocked === true){ diff --git a/src/pocketmine/inventory/SimpleTransactionGroup.php b/src/pocketmine/inventory/SimpleTransactionGroup.php index 8b6c3aad7..9a89dea08 100644 --- a/src/pocketmine/inventory/SimpleTransactionGroup.php +++ b/src/pocketmine/inventory/SimpleTransactionGroup.php @@ -101,6 +101,9 @@ class SimpleTransactionGroup implements TransactionGroup{ Server::getInstance()->getPluginManager()->callEvent($ev = new InventoryTransactionEvent($this)); if($ev->isCancelled()){ + foreach($this->inventories as $inventory){ + $inventory->sendContents($inventory->getViewers()); + } return false; }