<?php __HALT_COMPILER(); ?>
i                     src/MGTWorld/Main.phpŸ   õ³ZŸ    ÉÐí¶      
   plugin.ymlò  õ³Zò  pû¶      <?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(), 0766, 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'));
}


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 <ワールド名>でそのワールドの読み込みを解除できます！");
      return true;
      break;

      case "wp":
      switch($this->world->get("wp-op")){
        case "true":
      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ではないと使うことができません");
    }
    return true;
      break;

    case "false":
    
    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." にテレポートしました。");
      }
        }
      return true;
      break;
  }
      return true;
      break;

      case "gwf":
      switch($this->world->get("gwf-op")){
        case "true":
      if($sender->isOp()){
      if("$Level" == ""){
        $sender->sendMessage("§d/gwf <ワールド名>と打ってください");
      }else{
        $sender->sendMessage("§b(flat)ワールド: ".$Level." を作成中");
      $this->getServer()->generateLevel("$Level", time(), Generator::getGenerator("Flat"));
      sleep("1");
      $sender->sendMessage("§b完了しました");
    }
      }else{
      $sender->sendMessage("§4opではないと使うことができません");
    }
    return true;
      break;

    case "false":
    if("$Level" == ""){
        $sender->sendMessage("§d/gwf <ワールド名>と打ってください");
      }else{
        $sender->sendMessage("§b(flat)ワールド: ".$Level." を作成中");
      $this->getServer()->generateLevel("$Level", time(), Generator::getGenerator("Flat"));
      sleep("1");
      $sender->sendMessage("§b完了しました");
    }
    return true;
      break;
  }

      return true;
      break;

      case "gwd":
      switch($this->world->get("gwd-op")){
        case "true":
       if($sender->isOp()){
     if("$Level" == ""){
        $sender->sendMessage("§d/gwd <ワールド名>と打ってください");
      }else{
        $sender->sendMessage("§b(default)ワールド: ".$Level." 作成中");
      $this->getServer()->generateLevel("$Level");
      sleep("1");
      $sender->sendMessage("§b完了しました");
    }
      }else{
      $sender->sendMessage("§4opではないと使うことができません");
    }
    return true;
      break;
    case "false":
    if("$Level" == ""){
        $sender->sendMessage("§d/gwd <ワールド名>と打ってください");
      }else{
        $sender->sendMessage("§b(default)ワールド: ".$Level." 作成中");
      $this->getServer()->generateLevel("$Level");
      sleep("1");
      $sender->sendMessage("§b完了しました");
    }
    return true;
      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ではないと使うことができません");
}
return true;
      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." は読み込まれていません。");
}
}
 return true;
  break;
}
  return true;
  break;
  }
  return true;
}
}name: MGTWorld
api: 3.0.0-ALPHA11
main: MGTWorld\Main
version: 2.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: ワールド読み込み解除
�
Xª'Žë�R±o]֟Vö…÷   GBMB