diff --git a/src/pocketmine/Player.php b/src/pocketmine/Player.php index ef320dd60..ecee9ce8e 100644 --- a/src/pocketmine/Player.php +++ b/src/pocketmine/Player.php @@ -2950,13 +2950,13 @@ class Player extends Human implements CommandSender, InventoryHolder, ChunkLoade $tile = $this->level->getTile($this->temporalVector->setComponents($packet->x, $packet->y, $packet->z)); if($tile instanceof ItemFrame){ - if(!$tile->getItem()->equals($packet->item) and !$this->isCreative(true)){ + if($this->isSpectator()){ $tile->spawnTo($this); break; } - if(lcg_value() <= $tile->getItemDropChance() and $packet->item->getId() !== Item::AIR){ - $this->level->dropItem($tile->getBlock(), $packet->item); //Use the packet item to handle creative drops correctly + if(lcg_value() <= $tile->getItemDropChance()){ + $this->level->dropItem($tile->getBlock(), $tile->getItem()); } $tile->setItem(null); $tile->setItemRotation(0); diff --git a/src/pocketmine/network/protocol/ItemFrameDropItemPacket.php b/src/pocketmine/network/protocol/ItemFrameDropItemPacket.php index e5b9fdfaf..267d79a27 100644 --- a/src/pocketmine/network/protocol/ItemFrameDropItemPacket.php +++ b/src/pocketmine/network/protocol/ItemFrameDropItemPacket.php @@ -30,11 +30,9 @@ class ItemFrameDropItemPacket extends DataPacket{ public $x; public $y; public $z; - public $item; public function decode(){ $this->getBlockCoords($this->x, $this->y, $this->z); - $this->item = $this->getSlot(); } public function encode(){