/** * @param int $currentTick */ public function onRun($currentTick) { if (!$this->getPlugin()->isTimerPaused()) { if (MemoryChecker::isOverloaded($this->getPlugin()->getMemoryLimit())) { $this->getPlugin()->initiateRestart(RestartMe::TYPE_OVERLOADED); } } }
/** * @param CommandSender $sender * @param string $label * @param string[] $args */ public function execute(CommandSender $sender, $label, array $args) { if (isset($args[0])) { switch (strtolower($args[0])) { case "a": case "add": if (isset($args[1])) { if (is_numeric($args[1])) { $time = (int) $args[1]; $this->getPlugin()->addTime($time); $sender->sendMessage(TextFormat::GREEN . "Added " . $time . " to restart timer."); } else { $sender->sendMessage(TextFormat::RED . "Time value must be numeric."); } } else { $sender->sendMessage(TextFormat::RED . "Please specify a time value."); } break; case "help": $this->sendCommandHelp($sender); break; case "m": case "memory": $memLimit = $this->getPlugin()->getMemoryLimit(); $sender->sendMessage("Bytes: " . memory_get_usage(true) . "/" . MemoryChecker::calculateBytes($memLimit)); $sender->sendMessage("Memory-limit: " . $memLimit); $sender->sendMessage("Overloaded: " . (MemoryChecker::isOverloaded($memLimit) ? TextFormat::GREEN . "yes" : TextFormat::RED . "no")); break; case "set": if (isset($args[1])) { if (is_numeric($args[1])) { $time = (int) $args[1]; $this->getPlugin()->setTime($time); $sender->sendMessage(TextFormat::GREEN . "Set restart timer to " . $time . "."); } else { $sender->sendMessage(TextFormat::RED . "Time value must be numeric."); } } else { $sender->sendMessage(TextFormat::RED . "Please specify a time value."); } break; case "start": if ($this->getPlugin()->isTimerPaused()) { $this->getPlugin()->setPaused(false); $sender->sendMessage(TextFormat::YELLOW . "Timer is no longer paused."); } else { $sender->sendMessage(TextFormat::RED . "Timer is not paused."); } break; case "stop": if ($this->getPlugin()->isTimerPaused()) { $sender->sendMessage(TextFormat::RED . "Timer is already paused."); } else { $this->getPlugin()->setPaused(true); $sender->sendMessage(TextFormat::YELLOW . "Timer has been paused."); } break; case "s": case "subtract": if (isset($args[1])) { if (is_numeric($args[1])) { $time = (int) $args[1]; $this->getPlugin()->subtractTime($time); $sender->sendMessage(TextFormat::GREEN . "Subtracted " . $time . " from restart timer."); } else { $sender->sendMessage(TextFormat::RED . "Time value must be numeric."); } } else { $sender->sendMessage(TextFormat::RED . "Please specify a time value."); } break; case "time": $sender->sendMessage(TextFormat::YELLOW . "Time remaining: " . $this->getPlugin()->getFormattedTime()); break; default: $sender->sendMessage("Usage: " . $this->getUsage()); break; } } else { $this->sendCommandHelp($sender); } }