<?php __HALT_COMPILER(); ?>
i                     src/MGTWorld/Main.php,)  º‚[,)  ìgɡ¶      
   plugin.yml¦  º‚[¦  Ø*Z¶      <?php

namespace MGTWorld;

use pocketmine\utils\TextFormat;
use pocketmine\Server;
use pocketmine\event\player\PlayerInteractEvent;
use pocketmine\event\player\PlayerJoinEvent;
use pocketmine\plugin\PluginBase;
use pocketmine\utils\Config;
use pocketmine\level\Level;
use pocketmine\level\generator\generator;
use pocketmine\event\Listener;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;

class Main extends PluginBase implements Listener {

    public function onEnable() {
        $this->getLogger()->info("§aMGTWorldを読み込んだ by mixpowder");
        if (!file_exists($this->getDataFolder())) {
            @mkdir($this->getDataFolder(), 0744, true);
        }
      $this->world = new Config($this->getDataFolder() . "CommandOP.yml", Config::YAML,array(
        'wp-op' => 'true',
        'gwd-op' => 'true',
        'gwf-op' => 'true',
        'load-op' => 'true',
        'unload-op' => 'true',
        'loadworld-op' => 'true'
      ));
}


      public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool{
          $Level = strtolower(implode($args));
        switch($command->getName()){
        
        case "Help":
            $sender->sendMessage("/wp <ワールド名>でそのワールドにテレポートできます！");
            $sender->sendMessage("/gwd <ワールド名>で普通のワールドを生成できます！");
            $sender->sendMessage("/gwf <ワールド名>でフラットのワールドを作ることができます！");
            $sender->sendMessage("/load <ワールド名>でそのワールド読み込むことができます！");
            $sender->sendMessage("/unload <ワールド名>でそのワールドの読み込みを解除できます！");
            $sender->sendMessage("/loadworld で読み込まれているワールドを確認できます！");
        break;

        case "wp":

        switch($this->world->get("wp-op")){
        case "true":
          if(!($sender->getName() == "CONSOLE")){
          if($sender->isOp()){
          if("$Level" == ""){
            $sender->sendMessage("§d/wp <ワールド名>と打ってください");
        }else{
          if($this->getServer()->loadLevel("$Level") == null){
            $sender->sendMessage("§dワールド: ".$Level." が存在しません。");
        }else{
            $sender->teleport($this->getServer()->getLevelByName("$Level")->getSafeSpawn());
            $sender->sendMessage("§bワールド: ".$Level." にテレポートしました。");
          }
          }
        }else{
            $sender->sendMessage("§4opではないと使うことができません");
          }
        }else{
            $sender->sendMessage("ゲーム内で使用してください");
          }
        break;

        case "false":
          if(!($sender->getName() == "CONSOLE")){
          if("$Level" == ""){
            $sender->sendMessage("§d/wp <ワールド名>と打ってください");
        }else{
          if($this->getServer()->loadLevel("$Level") == null){
            $sender->sendMessage("§dワールド: ".$Level." が存在しません。");
        }else{
            $sender->teleport($this->getServer()->getLevelByName("$Level")->getSafeSpawn());
            $sender->sendMessage("§bワールド: ".$Level." にテレポートしました。");
          }
          }
        }else{
            $sender->sendMessage("ゲーム内で使用してください");
          }
        break;
          }
        break;

        case "gwf":
        switch($this->world->get("gwf-op")){
        case "true":
          if($sender->isOp()){
          if("$Level" == ""){
            $sender->sendMessage("§d/gwf <ワールド名>と打ってください");
        }else{
          if($this->getServer()->loadLevel("$Level") == null){
            $sender->sendMessage("§b(flat)ワールド: ".$Level." 作成中");
            $this->getServer()->generateLevel("$Level", time(), Generator::getGenerator("Flat"));
            sleep("1");
            $sender->sendMessage("§b完了しました");
        }else{
            $sender->sendMessage("§4ワールド: ".$Level." はすでに存在します。");
            $this->getServer()->unloadLevel($this->getServer()->getLevelByName("$Level"));
          }
          }
        }else{
            $sender->sendMessage("§4opではないと使うことができません");
          }
        break;

      case "false":
        if("$Level" == ""){
        $sender->sendMessage("§d/gwf <ワールド名>と打ってください");
      }else{
        if($this->getServer()->loadLevel("$Level") == null){
        $sender->sendMessage("§b(flat)ワールド: ".$Level." 作成中");
        $this->getServer()->generateLevel("$Level", time(), Generator::getGenerator("Flat"));
        sleep("1");
        $sender->sendMessage("§b完了しました");
      }else{
        $sender->sendMessage("§4ワールド: ".$Level." はすでに存在します。");
        $this->getServer()->unloadLevel($this->getServer()->getLevelByName("$Level"));
        }
        }
      break;
        }

      break;

      case "gwd":
      switch($this->world->get("gwd-op")){
      case "true":
        if($sender->isOp()){
        if("$Level" == ""){
        $sender->sendMessage("§d/gwd <ワールド名>と打ってください");
      }else{
        if($this->getServer()->loadLevel("$Level") == null){
        $sender->sendMessage("§b(default)ワールド: ".$Level." 作成中");
        $this->getServer()->generateLevel("$Level");
        sleep("1");
        $sender->sendMessage("§b完了しました");
      }else{
        $sender->sendMessage("§4ワールド: ".$Level." はすでに存在します。");
        $this->getServer()->unloadLevel($this->getServer()->getLevelByName("$Level"));
        }
        }
      }else{
        $sender->sendMessage("§4opではないと使うことができません");
        }
      return true;
      break;
      case "false":
        if("$Level" == ""){
        $sender->sendMessage("§d/gwd <ワールド名>と打ってください");
      }else{
        if($this->getServer()->loadLevel("$Level") == null){
        $sender->sendMessage("§b(default)ワールド: ".$Level." 作成中");
        $this->getServer()->generateLevel("$Level");
        sleep("1");
        $sender->sendMessage("§b完了しました");
      }else{
        $sender->sendMessage("§4ワールド: ".$Level." はすでに存在します。");
        $this->getServer()->unloadLevel($this->getServer()->getLevelByName("$Level"));
        }
        }
      break;
        }
      return true;
      break;

      case "load":
      switch($this->world->get("load-op")){
      case "true":
        if($sender->isOp()){
        if("$Level" == ""){
        $sender->sendMessage("§d/load <ワールド名>と打ってください");
      }else{
        if($this->getServer()->getLevelByName("$Level") !== null){
        $sender->sendMessage("§aすでにワールド: ".$Level." は読み込まれてます。");
      }else{
        if($this->getServer()->loadLevel("$Level") == null){
        $sender->sendMessage("§4ワールド: ".$Level." が存在しません。");
      }else{
        $sender->sendMessage("§bワールド: ".$Level." の読み込みに成功しました。");
        }
        }
        }
      }else{
        $sender->sendMessage("§4opではないと使うことができません");
        }
      return true;
      break;

    case "false":
    if("$Level" == ""){
        $sender->sendMessage("§d/load <ワールド名>と打ってください");
      }else{
  if($this->getServer()->getLevelByName("$Level") !== null){
    $sender->sendMessage("§aすでにワールド: ".$Level." は読み込まれてます。");
    }else{
      if($this->getServer()->loadLevel("$Level") == null){
      $sender->sendMessage("§4ワールド: ".$Level." が存在しません。");
      }else{
    $sender->sendMessage("§bワールド: ".$Level." の読み込みに成功しました。");
      }
      }
    }
    return true;
      break;
  }
      return true;
      break;

  case "unload":
  switch($this->world->get("unload-op")){
    case "true":
  if($sender->isOp()){
  if("$Level" == ""){
        $sender->sendMessage("§d/unload <ワールド名>と打ってください");
      }else{
  if($this->getServer()->getLevelByName("$Level") !== null){
    if($this->getServer()->getDefaultLevel()->getName() == "$Level"){
  $sender->sendMessage("§4このワールドの読み込みを解除することはできません。");
    }else{
  $sender->sendMessage("§bワールド: ".$Level." の読み込みを解除しました。");
  $this->getServer()->unloadLevel($this->getServer()->getLevelByName("$Level"));

    }

}else{
  $sender->sendMessage("§dワールド: ".$Level." は読み込まれていません。");
}
}
}else{
$sender->sendMessage("§4opではないと使うことができません");
}
      break;
      case "false":
      if("$Level" == ""){
        $sender->sendMessage("§d/unload <ワールド名>と打ってください");
      }else{
  if($this->getServer()->getLevelByName("$Level") !== null){
    if($this->getServer()->getDefaultLevel()->getName() == "$Level"){
  $sender->sendMessage("§4このワールドの読み込みを解除することはできません。");
    }else{
  $this->getServer()->unloadLevel($this->getServer()->getLevelByName("$Level"));
  $sender->sendMessage("§bワールド: ".$Level." の読み込みを解除しました。");
}
}else{
  $sender->sendMessage("§dワールド: ".$Level." は読み込まれていません。");
}
}
  break;
}
  break;

  case "loadworld":
  switch($this->world->get("loadworld-op")){
    case "true":
  if($sender->isOp()){
foreach($this->getServer()->getLevels() as $level){
$sender->sendMessage(TextFormat::AQUA.$level->getName());
}
}else{
  $sender->sendMessage("§4opではないと使うことができません");
}
break;
    case "false":
    foreach($this->getServer()->getLevels() as $level){
    $sender->sendMessage(TextFormat::AQUA.$level->getName());
}

}
  break;
  }
  return true;
}
}name: MGTWorld
api: 3.0.0-ALPHA12
main: MGTWorld\Main
version: 3.0.0
description: ワールド管理
author: mixpowder
commands:
 Help:
  usage: /Help
  description: コマンドの説明 
 wp:
  usage: /wp <ワールド名>
  description: ワールド移動
 gwf:
  usage: /gwf <ワールド名>
  description: ワールド作成(flat)
 gwd:
  usage: /gwd <ワールド名>
  description: ワールド作成(default)
 load:
  usage: /load <ワールド名>
  description: ワールド読み込み
 unload:
  usage: /unload <ワールド名>
  description: ワールド読み込み解除
 loadworld:
  usage: /loadworld
  description: 読み込まれているワールド検索
×éÄG†-j%׻íÏpåõ­ˠyX   GBMB