<?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Неизвестная команда");
}
}
}
}
}