βοΈ Passing PHPStan Level 9
βοΈ Simple world management commands
βοΈ New generators (Ender, Nether, Void, SkyBlock)
βοΈCustom world generator
βοΈ Supports last PocketMine API version
βοΈ Multi-language system
βοΈ Implemented Game Rules
βοΈ Simple API for other plugins
- Bug fixes
- Update to PocketMine 4.x api
Version | Phar Download | Zip Download | API | Stable | Pre release |
---|---|---|---|---|---|
1.7.0-beta2 | Poggit CI | GitHub | 4.0.0 | β | β |
1.6.0-beta6 | Poggit releases | GitHub | 3.20.0+ | β | β |
1.5.3 | Poggit releases | GitHub | 3.20.0+ | β | β |
1.5.2 | Poggit releases | GitHub | 3.x.x | βοΈ | β |
1.5.1 | Poggit releases | GitHub | 3.x.x | βοΈ | β |
1.5.0 | Poggit releases | GitHub | 3.0.0, 3.1.0 | βοΈ | β |
1.5.0-beta2 | GitHub | GitHub | 3.0.0, 3.1.0 | βοΈ | βοΈ |
1.5.0-beta1 | GitHub | GitHub | 3.0.0, 3.1.0 | β | βοΈ |
1.4.3 | Poggit Releases | GitHub | 3.0.0-ALPHA7 - 3.0.0 | βοΈ | β |
1.4.2 | Poggit Releases | GitHub | 3.0.0-ALPHA7 - 3.0.0-ALPHA12 | βοΈ | β |
1.4.1 | Poggit-CI Downloads | GitHub | 3.0.0-ALPHA7 - 3.0.0-ALPHA12 | βοΈ | β |
1.4.0 | Poggit Releases | GitHub | 3.0.0-ALPHA7 - 3.0.0-ALPHA11 | βοΈ | β |
1.3.2 | Poggit-CI Downloads | GitHub | 3.0.0-ALPHA7 | β | β |
1.3.1 | GitHub | GitHub | 3.0.0-ALPHA7 | βοΈ | β |
1.3.0 | Poggit-CI Downloads | GitHub | 3.0.0-ALPHA7 | β | β |
Download latest version here
All released versions here All development builds on Poggit Latest released version on Poggit Other plugins by CzechPMDevs here
This plugin works only on PocketMine-MP. You can download MultiWorld by Creeperface for Nukkit or MultiWorld by ferrybig for Bukkit. PMMP Spoons are NOT supported.
- Download latest stable released version from poggit
- Move dowloaded file to your server /plugins/ folder
- Restart the server
- All MultiWorld commands starts with
/mw
(/multiworld
) except for the/gamerule
command that was added as an alias to change game rules from settings. - In game, you can get list of all commands using commands
/mw help
All MultiWorld Commands:
Command | Description |
---|---|
/mw help | Displays list of all MultiWorld commands Alias: /mw ? Usage: /mw help <page: 0-1> |
/mw create | Generate new world using seed and generator Aliases: /mw new , /mw generate Usage: /mw create <levelName> [seed] [generator] Seed is value seed is the initial value by which the world is generated, when you set it empty, world will be generated by random number. You can use 6 generators ( Normal , Nether , End , Void , SkyBock and Nether_Old = Nether generator without glowstone and quartz ore) |
/mw teleport | Teleports you or seleced player to world spawn Aliases: /mw tp , /tp move Usage: /mw tp <levelName> [player] If you are using Slapper plugin and after you click on the npc you want to move the player to another world, you can use /slapper edit <id> addcommand mw tp <world> {player} command |
/mw list | Displays list of all levels Alias: /mw ls Usage: /mw list |
/mw info | Displays level information Alias: /mw i Usage: /mw info This command can be used only in game |
/mw delete | Remove level Aliases: /mw del , /mw dl , /mw remove , /mw rm Usage: /mw remove <level> Default level can not be deleted |
/mw update | Change spawn, lobby or default level Aliases: /mw ue Usage: /mw update <spawn or lobby or default> [x] [y] [z] [world] In game enough type /mw update <...> without [x] [y] [z] [world] , subcommand lobby can be used only in game |
/mw load | Loads level Aliases: /mw ld Usage: /mw load <level> |
/mw unload | Unloads level Aliases: /mw unld Usage: /mw unload <level> |
/mw gamerule | Manage with level game rules Aliases: /gamerule , /mw gr , /mw gamer , /mw grule Usage: /gamerule <list or gamerule> [bool] Level game rules can be changed in server settings, implemented game rules: doDaylightCycle , doMobLoot , doTileDrops , keepInventory , naturalRegeneration , pvp , showcoordinates and tntexplodes more informations can be found on WorldGameRulesAPI documentation |
/mw rename | Renames level Aliases: /mw rnm , /mw re Usage: /mw rename <levelName> <newName> This command changes name of the folder and of nbt too. |
/mw manage | Opens world form manager Aliases: /mw mng , /mw mg Usage: /mw manage The form manager just dispatches command as a player, so player needs also permission for the command. |
- You can use permission
mw.cmd
for all commands
All MultiWorlds Permissions:
Permission | Command | Operator |
---|---|---|
mw.cmd.help | /mw help |
βοΈ |
mw.cmd.create | /mw create |
βοΈ |
mw.cmd.teleport | /mw teleport |
βοΈ |
mw.cmd.list | /mw list |
βοΈ |
mw.cmd.info | /mw info |
βοΈ |
mw.cmd.delete | /mw delete |
βοΈ |
mw.cmd.update | /mw update |
βοΈ |
mw.cmd.load | /mw load |
βοΈ |
mw.cmd.unload | /mw unload |
βοΈ |
mw.cmd.gamerule | /mw gamerule |
βοΈ |
mw.cmd.rename | /mw rename |
βοΈ |
mw.cmd.manage | /mw manage |
βοΈ |
-
The World game rules API was added in MultiWorld v1.5.0, you can download stubs on release page, there are all WorldGameRulesAPI methods
-
All implemented GameRules:
doDaylightCycle
,doMobLoot
,doTileDrops
,keepInventory
,naturalRegeneration
,pvp
,showcoordinates
andtntexplodes
-
GameRules are stored in level.dat in CompoundTag
GameRules
, you can look at it using NBTExplorer or UniversalMinecraftEditor.
Examples:
<?php
declare(strict_types=1);
namespace xyz;
use czechpmdevs\multiworld\MultiWorld;
use czechpmdevs\multiworld\world\gamerules\GameRule;
use pocketmine\command\Command;
use pocketmine\command\CommandSender;
use pocketmine\event\world\WorldLoadEvent;
use pocketmine\event\Listener;
use pocketmine\plugin\PluginBase;
class XYZPlugin extends PluginBase implements Listener {
private bool $enabled = false;
public function onEnable() {
$this->getServer()->getPluginManager()->registerEvents($this, $this);
$this->update();
}
public function onCommand(CommandSender $sender, Command $command, string $label, array $args): bool {
if($command->getName() !== "xyz") {
return false;
}
$bool = $this->enabled ? "off" : "on";
$sender->sendMessage("Β§a> Coordinates turned $bool!");
$this->enabled = !$this->enabled;
$this->update();
return true;
}
public function onLevelLoad(WorldLoadEvent $event): void {
MultiWorld::getGameRules($event->getWorld())->setRule(GameRule::SHOW_COORDINATES()->setValue(true));
}
private function update(): void {
foreach ($this->getServer()->getLevels() as $level) {
MultiWorld::getGameRules($event->getWorld())->setRule(GameRule::SHOW_COORDINATES()->setValue(true));
}
}
}
- Do you want to help with the development of MultiWorld? Add your native language!
- Open lanuage resource file
- Click create new file
- Translate e.g. language from English file https://github.com/CzechPMDevs/MultiWorld/blob/master/resources/languages/en_US.yml
- Click Propose new file
- Icon made by Freepik from www.flaticon.com is licensed by CC 3.0 BY
- Japanese translation by fuyutsuki
- Russian translation by SteinsSquad (themestl)
- Indonesian translation by WooWBoom
- German translation by SchdowNVIDIA and Tobikisss
- Chinese translation by abc1460132901
MultiWorld - PocketMine plugin that manages worlds.
Copyright (C) 2018 - 2021 CzechPMDevs
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
Full license here.