Существует такой плагин, который позволяет создавать миры и телепортироваться в них с помощью команд. Однока такой плагин сложно найти, и за чего я решил сделать что-то похожее…
Информация
Данный плагин даст вам базовые возможности оригинального плагина
Подробная информация
Плагин даст вам возможность создавать миры и телепортироваться по ним
Пример
Мир test был создан с помощью данного плагина
Команды
Команда → /qw [тип мира ]
(помино normal, void и flat можно создать мир с генерацией который имеется у вас в ядре
Разрешение → qw.use
Скачать
ZIP → QqWorlds.zip
PHAR → QqWorlds.phar
Исходный код → QqWorlds | Talk 24serv
1 лайк
дальше он сгорел вместе с квартирой
Беш бармак не сгорел (пошёл жрать)
я уже хотел сказать “гкод”
я не знаю, там доступ к пк ограничен а скачивать не хочу
<?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Неизвестная команда");
}
}
}
}
}
qq_BCEM
11.Октябрь.2022 11:32:21
11
Эти строки остались когда код был ещё хуже того что ты сейчас видишь
Понятия create и generate совершенно разные. А у тебя они все создают новый мир
qq_BCEM
11.Октябрь.2022 13:04:23
15
Если речь идёт о мирах, понятие create и generate для меня значут Одно и тоже
А так ты прав
Фу, видимо не умеешь даже регистрироваться классы для команд
Daddy
11.Октябрь.2022 15:36:45
22
pocketmine\command\defaults