pocketmine\block\Furnace::onActivate PHP Method

onActivate() public method

public onActivate ( Item $item, Player $player = null )
$item pocketmine\item\Item
$player pocketmine\Player
    public function onActivate(Item $item, Player $player = null)
    {
        if ($player instanceof Player) {
            $t = $this->getLevel()->getTile($this);
            if ($t instanceof FurnaceTile) {
                $furnace = $t;
            } else {
                $nbt = new CompoundTag("", [new ListTag("Items", []), new StringTag("id", Tile::FURNACE), new IntTag("x", $this->x), new IntTag("y", $this->y), new IntTag("z", $this->z)]);
                $nbt->Items->setTagType(NBT::TAG_Compound);
                $furnace = Tile::createTile("Furnace", $this->getLevel()->getChunk($this->x >> 4, $this->z >> 4), $nbt);
            }
            if (isset($furnace->namedtag->Lock) and $furnace->namedtag->Lock instanceof StringTag) {
                if ($furnace->namedtag->Lock->getValue() !== $item->getCustomName()) {
                    return true;
                }
            }
            if ($player->isCreative() and $player->getServer()->limitedCreative) {
                return true;
            }
            $player->addWindow($furnace->getInventory());
        }
        return true;
    }