isActivable = true; $this->maxStackSize = 1; } public function onActivate(Level\Level $level, Player $player, Block\Block $block, Block\Block $target, $face, $fx, $fy, $fz){ if($this->meta === AIR){ if($target instanceof Block\Liquid){ $level->setBlock($target, new Block\Air(), true, false, true); if(($player->gamemode & 0x01) === 0){ $this->meta = ($target instanceof Block\Water) ? WATER : LAVA; } return true; } } elseif($this->meta === WATER){ //Support Make Non-Support Water to Support Water if($block->getID() === AIR || ($block instanceof Block\Water && ($block->getMetadata() & 0x07) != 0x00)){ $water = new Block\Water(); $level->setBlock($block, $water, true, false, true); $water->place(clone $this, $player, $block, $target, $face, $fx, $fy, $fz); if(($player->gamemode & 0x01) === 0){ $this->meta = 0; } return true; } } elseif($this->meta === LAVA){ if($block->getID() === AIR){ $level->setBlock($block, new Block\Lava(), true, false, true); if(($player->gamemode & 0x01) === 0){ $this->meta = 0; } return true; } } return false; } }