diff --git a/src/pocketmine/block/MobHead.php b/src/pocketmine/block/MobHead.php index 36d70edde..a84ca2caa 100644 --- a/src/pocketmine/block/MobHead.php +++ b/src/pocketmine/block/MobHead.php @@ -29,6 +29,7 @@ use pocketmine\nbt\tag\CompoundTag; use pocketmine\nbt\tag\IntTag; use pocketmine\nbt\tag\StringTag; use pocketmine\Player; +use pocketmine\tile\Skull as SkullTile; use pocketmine\tile\Spawnable; use pocketmine\tile\Tile; @@ -36,8 +37,6 @@ class MobHead extends Flowable{ protected $id = self::MOB_HEAD_BLOCK; - protected $type; - public function __construct($meta = 0){ $this->meta = $meta; } @@ -89,7 +88,6 @@ class MobHead extends Flowable{ } public function onUpdate($type){ - parent::onUpdate($type); $faces = [ 1 => 0, 2 => 3, @@ -105,15 +103,16 @@ class MobHead extends Flowable{ } } - return false; + return parent::onUpdate($type); } public function getDrops(Item $item){ - if($this->meta === 3){ - return []; + if(($tile = $this->level->getTile($this)) instanceof SkullTile){ + return [ + [Item::MOB_HEAD, $tile->getType(), 1] + ]; } - return [ - [Item::MOB_HEAD, $this->type, 1] - ]; + + return []; } } \ No newline at end of file diff --git a/src/pocketmine/tile/Skull.php b/src/pocketmine/tile/Skull.php index d0066b6b5..4cc874861 100644 --- a/src/pocketmine/tile/Skull.php +++ b/src/pocketmine/tile/Skull.php @@ -33,6 +33,7 @@ class Skull extends Spawnable{ const TYPE_ZOMBIE = 2; const TYPE_HUMAN = 3; const TYPE_CREEPER = 4; + const TYPE_DRAGON = 5; public function __construct(Chunk $chunk, CompoundTag $nbt){ if(!isset($nbt->SkullType)){ @@ -44,13 +45,9 @@ class Skull extends Spawnable{ parent::__construct($chunk, $nbt); } - public function setType($type){ - if($type >= 0 && $type <= 4){ - $this->namedtag->SkullType = new ByteTag("SkullType", $type); - $this->onChanged(); - return true; - } - return false; + public function setType(int $type){ + $this->namedtag->SkullType = new ByteTag("SkullType", $type); + $this->onChanged(); } public function getType(){