CzechPMDevs / MultiWorld

🌎 An advanced world management PocketMine plugin with custom world generators.
GNU General Public License v3.0
105 stars 77 forks source link

Updated for PMMP v5.0.0-ALPHA7 #288

Closed supercrafter333 closed 1 year ago

supercrafter333 commented 1 year ago

Added 3D biome support.

supercrafter333 commented 1 year ago

These changes was tested and worked well.

VixikHD commented 1 year ago

Reformat those files with tabs

GH-PM commented 1 year ago

I have tested this version, if you create a world and then delete it while you are in that world, you will spawn on the ground trapped between stones of the main world, check that pls

GH-PM commented 1 year ago

/mw gamerule -> "Usage /mw help" * /mw manage -> Crash

PocketMine-MP Crash Dump Sat Mar 11 13:28:49 UTC 2023

PocketMine-MP version: 5.0.0-BETA1 [Protocol 567]
Git commit: 9e329d55a8d25b5857cfcb882d5ea383b4ec3e6f
PHP version: 8.0.28
OS: Linux, linux

THIS CRASH WAS CAUSED BY A PLUGIN
BAD PLUGIN: MultiWorld

Error: Class "czechpmdevs\libpmform\type\SimpleForm" not found
File: plugins/MultiWorld-PM5-api-pm5/src/czechpmdevs/multiworld/command/subcommand/ManageSubCommand
Line: 56
Type: Error
Backtrace:
#0 plugins/MultiWorld-PM5-api-pm5/src/czechpmdevs/multiworld/command/MultiWorldCommand(98): czechpmdevs\multiworld\command\subcommand\ManageSubCommand->execute(object pocketmine\player\Player#52883, array[0], string[6] manage)
#1 pmsrc/src/command/SimpleCommandMap(212): czechpmdevs\multiworld\command\MultiWorldCommand->execute(object pocketmine\player\Player#52883, string[2] mw, array[0])
#2 pmsrc/src/Server(1438): pocketmine\command\SimpleCommandMap->dispatch(object pocketmine\player\Player#52883, string[9] mw manage)
#3 pmsrc/src/player/Player(1446): pocketmine\Server->dispatchCommand(object pocketmine\player\Player#52883, string[9] mw manage)
#4 pmsrc/src/network/mcpe/handler/InGamePacketHandler(735): pocketmine\player\Player->chat(string[10] /mw manage)
#5 pmsrc/vendor/pocketmine/bedrock-protocol/src/CommandRequestPacket(55): pocketmine\network\mcpe\handler\InGamePacketHandler->handleCommandRequest(object pocketmine\network\mcpe\protocol\CommandRequestPacket#102485)
#6 pmsrc/src/network/mcpe/NetworkSession(460): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(object pocketmine\network\mcpe\handler\InGamePacketHandler#117016)
#7 pmsrc/src/network/mcpe/NetworkSession(413): pocketmine\network\mcpe\NetworkSession->handleDataPacket(object pocketmine\network\mcpe\protocol\CommandRequestPacket#102485, string[32] M./mw manage.+K7.3/...ym.vm....4)
#8 pmsrc/src/network/mcpe/raklib/RakLibInterface(196): pocketmine\network\mcpe\NetworkSession->handleEncoded(string[35] S....-W.M.KLOe..6_n..^z_enKY.....&.)
#9 pmsrc/vendor/pocketmine/raklib-ipc/src/RakLibToUserThreadMessageReceiver(40): pocketmine\network\mcpe\raklib\RakLibInterface->onPacketReceive(int 0, string[44] ..={.bm....Lv.bZ.c................?...m..5.K)
#10 pmsrc/src/network/mcpe/raklib/RakLibInterface(118): raklib\server\ipc\RakLibToUserThreadMessageReceiver->handle(object pocketmine\network\mcpe\raklib\RakLibInterface#40350)
#11 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(126): pocketmine\network\mcpe\raklib\RakLibInterface->pocketmine\network\mcpe\raklib\{closure}()
#12 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\snooze\SleeperHandler->processNotifications()
#13 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\TimeTrackingSleeperHandler->processNotifications()
#14 pmsrc/src/Server(1697): pocketmine\snooze\SleeperHandler->sleepUntil(float 1678541329.5572)
#15 pmsrc/src/Server(1052): pocketmine\Server->tickProcessor()
#16 pmsrc/src/PocketMine(339): pocketmine\Server->__construct(object BaseClassLoader#5, object pocketmine\utils\MainLogger#2, string[16] /home/container/, string[24] /home/container/plugins/)
#17 pmsrc/src/PocketMine(362): pocketmine\server()
#18 pmsrc(11): require(string[60] phar:///home/container/PocketMine-MP.phar/src/PocketMine.php)

Code:
[47] 
[48] class ManageSubCommand implements SubCommand {
[49] 
[50]    public function execute(CommandSender $sender, array $args, string $name): void {
[51]        if(!$sender instanceof Player) {
[52]            $sender->sendMessage("§cThis command can be used only in-game!");
[53]            return;
[54]        }
[55] 
[56]        $form = new SimpleForm("World Manager", "Select action", true);
[57]        $form->addButton("Create a new world");
[58]        $form->addButton("Delete world");
[59]        $form->addButton("Update world game rules");
[60]        $form->addButton("Show world info");
[61]        $form->addButton("Load world");
[62]        $form->addButton("Unload world");
[63]        $form->addButton("Teleport to the world");
[64]        $form->addButton("Teleport player to the world");
[65] 
[66]        $form->setCallback(static function(Player $player, FormResponse $response): void {

Loaded plugins:
DEVirion 1.3.0 by poggit, SOFe for API(s) 5.0.0
DevTools 1.17.0+dev by PocketMine Team for API(s) 5.0.0
MultiWorld 1.8.0-ALPHA2 by CzechPMDevs, VixikCZ, fuyutsuki, kaliiks for API(s) 5.0.0
supercrafter333 commented 1 year ago

You haven't implemented libpmform. That's why it doesn't work for you.

GH-PM commented 1 year ago

You haven't implemented libpmform. That's why it doesn't work for you.

image

GH-PM commented 1 year ago

I just saw that

[DEVirion] Cannot load virion libpmform: Server has incompatible API version 5.0.0-BETA1

my bad

VixikHD commented 1 year ago

Reformat those files with tabs

If you want to have this pull request merged, please reformat those files with tabs (currently there are spaces).