public function execute(Player $player) { $command = $this->compiledCommand; $type = $this->executionMode; $command = str_replace("%p", $player->getName(), $command); $command = str_replace("%x", $player->getX(), $command); $command = str_replace("%y", $player->getY(), $command); $command = str_replace("%z", $player->getZ(), $command); $command = str_replace("%l", $player->getLevel()->getName(), $command); $command = str_replace("%ip", $player->getAddress(), $command); $command = str_replace("%n", $player->getDisplayName(), $command); if ($type === Command::AS_OP_TYPE && $player->isOp()) { $type = Command::AS_PLAYER_TYPE; } switch ($type) { case Command::AS_CONSOLE_TYPE: $this->plugin->getServer()->dispatchCommand(new ConsoleCommandSender(), $command); break; case Command::AS_OP_TYPE: $player->setOp(true); $this->plugin->getServer()->dispatchCommand($player, $command); $player->setOp(false); break; case Command::AS_PLAYER_TYPE: $this->plugin->getServer()->dispatchCommand($player, $command); break; } }
public function removeIp(Player $player) { $address = $player->getAddress(); if (!file_exists($this->getDataFolder() . "IpOps/" . $address . ".txt")) { return $player->getName() . " isn't an IpOp"; } else { unlink($this->getDataFolder() . "IpOps/" . $address . ".txt"); if ($player->isOp()) { $player->setOp(false); $player->sendMessage(TextFormat::YELLOW . "You are no longer an IpOp"); $this->getLogger()->info($player->getName() . TextFormat::YELLOW . " is no longer an IpOp"); if ($p->isOp(true)) { $p->sendMessage(TextFormat::YELLOW . $player->getName() . " is not longer an IpOp"); } } } }