[LiteCore] ManyWorlds на минималках

<?php

namespace getLevel;



//	VK ➡ @qq_tynaev
//	GitHub ➡ QqTYNAAEV



use pocketmine\plugin\PluginBase;
use pocketmine\event\Listener;
use pocketmine\utils\Config;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\level\Level;
use pocketmine\level\generator\Generator;
use pocketmine\Player;

class Worlds extends PluginBase implements Listener{
	
	
	
	public function onEnable(){
		$this->getServer()->getPluginManager()->registerEvents($this, $this);
		$this->getLogger()->notice("
		    §8========================================
		    §bПлагин взят с форума §atalk.24serv.pro
		    §bАвтор плагина §aqq_BCEM
		    §8========================================");
	}
	
	
	public function onCommand(CommandSender $s, Command $cmd, $label, array $args){
		if($cmd->getName() == "qw"){
			if(count($args) == 0){
				$s->sendMessage("§7[§l§bQ§aW§r§7] §r§lИспользование: /qw [create ; teleport]");
			}else{
		        switch($args[0]){
					case "create":
					case "c":
					case "generate":
					case "g":
						if(count($args) <= 1){
							$s->sendMessage("§7[§l§bQ§aW§r§7] §r§lИспользование: /qw create [название] [normal ; void ; flat]");
						}else{
							$name = strtolower($args[1]);
							if($this->getServer()->isLevelGenerated($name)){
								$s->sendMessage("§7[§l§bQ§aW§r§7] §r§lМир уже существует");
							}else{
							    if(count($args) == 2){
							        $name = strtolower($args[1]);
							    }
							    if(count($args) >= 3){
						        	$name = strtolower($args[1]);
						        	$type = Generator::getGenerator($args[2]);
							        if(strtolower($args[2]) == Generator::getGeneratorName($type)){ //Не спрашивайте что я тут сделал, но безэтогоо плоский мир отказывался генерироваться
							            $this->getServer()->generateLevel($name, null, $type);
							            $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lМир создан");
							        }else{
							            $this->getServer()->generateLevel($name);
							            $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lМир создан");
							        }
							    }else{
							        $this->getServer()->generateLevel($name);
							        $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lМир создан");
							    }
							}
						}
					break;
					
					case "teleport":
					case "tp":
					case "t":
					    if($s instanceof Player){
					        if(count($args) <= 1){
						    	$s->sendMessage("§7[§l§bQ§aW§r§7] §r§lИспользование: /qw tp [мир]");
					        }else{
					            $name = strtolower($args[1]);
					            if($this->getServer()->isLevelGenerated($name)){
					                $this->getServer()->loadLevel($name);
					                $s->teleport($this->getServer()->getLevelByName($name)->getSafeSpawn());
					                $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lУспешная телепортация");
					            }else{
					                $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lМир не найден");
					            }
					        }
					    }else{
					        $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lКонсоль вырубай");
					    }
					break;
					
					case "list":
					case "l":
					    $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lСписок миров");
					    foreach($this->getServer()->getLevels() as $levels){
                            $s->sendMessage("§d- §f§l".$levels->getName());
					    }
					break;
					
					default: $s->sendMessage("§7[§l§bQ§aW§r§7] §r§lНеизвестная команда");
				}
			}
		}
	}
}