Example #1
0
 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;
 }
Example #2
0
 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;
 }
Example #3
0
 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;
 }