isSolid = false; $this->isFullBlock = false; $this->hardness = 5; } public function place(Item\Item $item, Player $player, Block $block, Block $target, $face, $fx, $fy, $fz){ if($face !== 0){ $faces = array( 2 => 2, 3 => 3, 4 => 4, 5 => 5, ); if(!isset($faces[$face])){ $this->meta = floor((($player->yaw + 180) * 16 / 360) + 0.5) & 0x0F; $this->level->setBlock($block, Block::get(SIGN_POST, $this->meta), true, false, true); return true; } else{ $this->meta = $faces[$face]; $this->level->setBlock($block, Block::get(WALL_SIGN, $this->meta), true, false, true); return true; } } return false; } public function onUpdate($type){ if($type === BLOCK_UPDATE_NORMAL){ if($this->getSide(0)->getID() === AIR){ //Replace with common break method //TODO //ServerAPI::request()->api->entity->drop($this, Item\Item::get(SIGN, 0, 1)); $this->level->setBlock($this, new Air(), true, true, true); return BLOCK_UPDATE_NORMAL; } } return false; } public function onBreak(Item\Item $item, Player $player){ $this->level->setBlock($this, new Air(), true, true, true); return true; } public function getDrops(Item\Item $item, Player $player){ return array( array(Item\SIGN, 0, 1), ); } }