public function onSCommand(CommandSender $c, Command $cc, $scmd, $data, array $args) { if (count($args) != 0) { return false; } if (MPMU::apiVersion("1.12.0")) { $c->sendMessage(implode(", ", Generator::getGeneratorList())); } else { $c->sendMessage("normal, flat"); $c->sendMessage(TextFormat::RED . mc::_("[MW] Plugin provided world generators\n are not included in\n this list.")); } return true; }
public function onSCommand(CommandSender $c, Command $cc, $scmd, $data, array $args) { if (count($args) == 0) { return false; } $player = $c; if (count($args) > 1) { $player = $this->owner->getServer()->getPlayer($args[0]); if ($player !== null) { if (!MPMU::access($c, "mw.cmd.tp.others")) { return true; } array_shift($args); } else { // Compatibility with old versions... $player = $this->owner->getServer()->getPlayer($args[count($args) - 1]); if ($player !== null) { if (!MPMU::access($c, "mw.cmd.tp.others")) { return true; } array_pop($args); } else { $player = $c; } } } if (!MPMU::inGame($player)) { return true; } $wname = implode(" ", $args); if ($player->getLevel() == $this->owner->getServer()->getLevelByName($wname)) { $c->sendMessage($c == $player ? mc::_("You are already in %1%", $wname) : mc::_("%1% is already in %2%", $player->getName(), $wname)); return true; } if (!$this->owner->autoLoad($c, $wname)) { $c->sendMessage(TextFormat::RED . mc::_("Teleport failed")); return true; } $level = $this->owner->getServer()->getLevelByName($wname); if ($level === null) { $c->sendMessage(TextFormat::RED . mc::_("Error GetLevelByName %1%")); return true; } if ($c != $player) { $player->sendMessage(TextFormat::YELLOW . mc::_("Teleporting you to %1% by %2%", $wname, $c->getName())); } else { $c->sendMessage(TextFormat::GREEN . mc::_("Teleporting to %1%", $wname)); } $player->teleport($level->getSafeSpawn()); return true; }
public function autoLoad(CommandSender $c, $world) { if ($this->getServer()->isLevelLoaded($world)) { return true; } if ($c !== null && !MPMU::access($c, "mw.cmd.world.load")) { return false; } if (!$this->getServer()->isLevelGenerated($world)) { if ($c !== null) { $c->sendMessage(mc::_("[MW] No world with the name %1% exists!", $world)); } return false; } $this->getServer()->loadLevel($world); return $this->getServer()->isLevelLoaded($world); }
private function mwWorldUnloadCmd(CommandSender $sender, $wname, $force) { if (MPMU::apiVersion("<1.12.0")) { // For old stuff... if ($wname == "--enable") { $this->owner->canUnload = true; $sender->sendMessage(TextFormat::YELLOW . mc::_("[MW] Unload sub-command enabled")); $sender->sendMessage(TextFormat::YELLOW . mc::_("[MW] To disable use: /mw unload --disable")); return true; } if ($wname == "--disable") { $this->owner->canUnload = false; $sender->sendMessage(TextFormat::GREEN . mc::_("[MW] Unload sub-command disabled")); $sender->sendMessage(TextFormat::GREEN . mc::_("[MW] To enable use: /mw unload --enable")); return true; } if (!$this->owner->canUnload) { $sender->sendMessage(TextFormat::RED . mc::_("[MW] Unload sub-command is disabled by default")); $sender->sendMessage(TextFormat::RED . mc::_("[MW] this is because that it usually causes the")); $sender->sendMessage(TextFormat::RED . mc::_("[MW] server to CRASH!")); $sender->sendMessage(TextFormat::RED . mc::_("[MW] To activate use:")); $sender->sendMessage(TextFormat::BLUE . mc::_("- /mw unload --enable")); return true; } } // Actual implementation if (!$this->owner->getServer()->isLevelLoaded($wname)) { $sender->sendMessage(TextFormat::RED . mc::_("[MW] %1% is not loaded.", $wname)); return true; } $level = $this->owner->getServer()->getLevelByName($wname); if ($level === null) { $sender->sendMessage(TextFormat::RED . mc::_("[MW] Unable to get %1%", $wname)); return true; } if (!$this->owner->getServer()->unloadLevel($level, $force)) { if ($force) { $sender->sendMessage(TextFormat::RED . mc::_("[MW] Unable to unload %1%", $wname)); } else { $sender->sendMessage(TextFormat::RED . mc::_("[MW] Unable to unload %1%. Try -f", $wname)); } } else { $sender->sendMessage(TextFormat::GREEN . mc::_("[MW] %1% unloaded.", $wname)); } return true; }