Craftbukkit 1.9 support!

Multiworld - The official Multiworld Project

The easy to use multiworld plugin, support custom end and nether worlds for each worlds, you can configure what you want, and you get it (limited to what I programmed)


I made this plugin because the previous author "Baummann", the original creator of Multiworld, became inactive. Before, it was just a simple plugin with 2 commands: /goto and /newworld. I took control of the project and developed a better version. We are now at version 5.2.8 of Multiworld.


  • Custom world generators like a world with deserts
  • Allows you to change the gamemode of a player when you enters a world
  • Supports relative coordinates with /mw move and /mw goto like the /teleport from vanila minecraft
  • Block chat coming from other worlds to create worlds where the users have their own private chat

Commands and Permissions

world commands

/mw create
<world name>
Adds a new world to the Multiworld Database.
Notice: you can also use this command to add existing worlds.
Warning: Do not give to players you don't thrust because they can create unlimited worlds!
/mw load
<world name>
Loads a world that has been defined in the Multiworld databasemultiworld.command.load
/mw unload
<world name>
Unloads a world that has been defined in the Multiworld database, other plugins cannot see this world anymoremultiworld.command.unload
/mw delete
<wold name>
Removes a world from the MultiWorld database.
Warning: This action is destructive to the settings multiworld has defined to the world!
/mw listList the worlds multiworld has generated in your server.multiworld.command.list
/mw infoShows information from a
/mw listgensList the supported world generators to use with /mw createmultiworld.command.listgens
/mw listflagsList the possible flags to use with the following commands.multiworld.command.flags
/mw setflag
Sets a flag/option on a world.multiworld.command.setflag
/mw getflag
Gets a flag from a world, tip use * to get al the world flags.multiworld.command.getflag
/mw link
Links all nether portals from <src-world> to <dst-world>.
Notice, to use this you need to turn on the nether portal handler!
/mw link-end
Links al end portals from <src-world> to <dst-world>.
Notice, to use this you need to turn on the end portal handler
/mw goto
<world name>
Teleports yourself to a world, this command can also be used as alias /goto <world>multiworld.command.goto
/mw move
Moves a player to an worldmultiworld.command.move
/mw spawnTeleports yourself to spawn, to move other people use /mw move.multiworld.command.spawn
/mw setspawnSets the spawn of a world, you can use this to correct the starting spawn pointmultiworld.command.setspawn
Core and Utility
/mw saveSaves the plugin
/mw reloadReload the plugin datamultiworld.command.reload
/mw debugShows some debugging information, this information is very handy when you create a bug reportmultiworld.command.debug
/mw helpShows help about the commands used in Multiworld, useful so you don't need to go to this
/mw eastereggNot a real command, but there is a easter egg hidden in multiworld-
-Permission used to allow multiworld to change the gamemode of the affected player when entering a creative world. Its recommend to give everyone this permission.multiworld.creativemode
-Gives access to the basic Multiworld moderator controll, this permission won't allow users to modefy settings of existing world, it only allows them to view the settings / teleport to worldsmultiworld.basic
-All the permissions from multiworld, you can also use the star permission to give them all permissions.Multiworld.admin

Optional features

Feature NameDescriptionConfiguration location
End portal handlerThe end portal handlers allows you to define custom end portals per worldoptions.useEndPortalHandler
Nether portal handlerThis addon makes it posiable to redirect netherportals to custom nether worlds, this setting is per-worldoptions.usePortalHandler
WorldChatSeperatorThis allows you to use the RecieveChat and the SendChat flags on a worldoptions.useWorldChatSeperator
GamemodeChangerThis allows you to use the flag CreativeWorld to turn on creative mode for a world, to use this you need to give you users the following permissions on all worlds: multiworld.creativemode
This module also comes with a other configuration settings, when you turn off usecreativemodeinv, it ONLY handles the gamemode part, it won't change the inventory contents, this can be used if you have a custom plugin for per world inventories.
EnderBlockPrevents the use of ender chests in creative mode, this can be used to prevent people from cheating stuff by storing it inside a ender chest in a creative world, and then removing it in a survival world.options.blockEnderChestInCrea
WorldSpawnHandlerThis allows you to have custom respawn worlds per world group, this can be setup by turning this part on to generate the configuration needed for this.options.useWorldSpawnHandler
CraftbukkitHooksAllows multiworld to hook into craftbukkit to display information that the bukit api won't provide. This feature will try to turn itself off when there are any errors.options.craftbukkitHooks

Multiworld and Data Collecting

Multiworld is using a statistcs tracking code so useage statistics wil be logged, for more information what is logged see:

  • LocationTeleport - This plugin teleports users when they enter a arena, when you shape the area like a portal, you can have your own portals
  • hothgenerator - Generates a awesome snow world
    /mw create WorldName plugin:HothGenerator
    (Case sensitive)
  • multiinv - Allows more control between the inventories of worlds than multiworld can provide on its own.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of pmbtexas pmbtexas Jun 25, 2016 at 01:06 UTC - 0 likes

    Hey great plugin !!

    I setup a mw world made a touchscreenhologram to use with commands

    as long as your OP you can use How can i get my reg players to use When they click it it says no permissions what do i put in GroupManager so they can use it without being OP?

    Last edited Jun 25, 2016 by pmbtexas: misspelled word
  • Avatar of assasianfire assasianfire Jun 23, 2016 at 13:05 UTC - 0 likes

    Great plugin, This is a lot smoother than multiverse :D

  • Avatar of Latamier Latamier Jun 12, 2016 at 02:36 UTC - 0 likes

    I am trying to figure out why when some one dies in any of my 4 worlds, they always respawn at the Hub ( which isn't one of the 4 worlds). I have been trying to figure out how I can make them respawn at the spawn of the worlds that they die in.

    I was thinking that the optional feature: UseWorldSpawnHandler would take care of this. I have it turned on (true), but I am uncertain of how to make any more of the Groups. I see the default is set for every world. I have looked and I haven't found any examples or any docs on how to use this feature.

    Any help would be appreciated.

    We are reinventing survival. Lots of new items to find and craft. IP Addy: Enjin Homepage: Server Website:
  • Avatar of Assassin71 Assassin71 May 29, 2016 at 20:15 UTC - 0 likes

    ferrybig loving this plugin, solved alot of world management problems for me Running a server with 4 main world "factions, survival, skyblock and creative" and 3 of them with there own nether and end but there are some problems that I want to mention. - First is the nether portals ....when a player jumps into a nether portal and spawns in the portal in the nether it takes him about 5 seconds until he can start moving(witch is normal) but in that 5 seconds the portal start teleporting him back..... and it just keeps on going like a look between the over-world and the nether.... so if it can mabe be so that a player must leave the portal before he can teleport back or extend the delay it takes -Second problem is that if i create a new end world for my survival world with /mw create survival_the_end end and link the portal with /mw link-end survival survival_the_end and jump into it... nothing happens ..... i have to dupe my factions end and rename it from world_the_end to survival_the_end then it works fine soo not that big of a problem but just mentioning it -Third problem i found was that if I generate an emptyworld there are sandblocks evenly spred at bedrock level like on every coner of a chunk

    BUT other that that the plugin does its job nicely =) ......and the frist problem is the bigest for me.......only posting this to let you guys know soo that this plugin can stay in top shape =P SORRY FOR THE BAD ENG THO xD

    Tnx again and enjoy

  • Avatar of ferrybig ferrybig May 22, 2016 at 13:22 UTC - 0 likes

    @BobJackson101: Go

    Look inside the config

    This user has removed his signature ( :-P ) Lol

  • Avatar of djstar55 djstar55 May 08, 2016 at 09:35 UTC - 0 likes

    HELP!! when i tried to connect a portal to another one in a different world it just sends players to a totally different portal but in the right world ??!! is there any way to fix this

    V5.2.7 1.8

  • Avatar of BobJackson101 BobJackson101 Apr 16, 2016 at 22:37 UTC - 0 likes

    How do i get access to the extra features?

  • Avatar of Latamier Latamier Apr 15, 2016 at 14:12 UTC - 0 likes

    Just tried to unload some unused worlds from my server with the unload and delete command and neither would do it. It just said " Cannot unload! Are all the players out of this world? " I am the only one on the server and I wasn't in either one of the worlds I was trying to delete.

    Any ideas ?

  • Avatar of Bobdanielt6 Bobdanielt6 Mar 31, 2016 at 18:20 UTC - 0 likes

    I am considering moving from Multiverse to Multiworld any tips/suggestions? Any reason other plugins would be affected?


  • Avatar of benoitfouc benoitfouc Mar 30, 2016 at 19:16 UTC - 0 likes

    [21:12:39] [Server thread/ERROR]: Could not pass event PlayerPortalEvent to MultiWorld v5.2.8 org.bukkit.event.EventException at$1.execute( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at org.bukkit.plugin.RegisteredListener.callEvent( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at org.bukkit.plugin.SimplePluginManager.fireEvent( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at org.bukkit.plugin.SimplePluginManager.callEvent( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.PlayerList.changeDimension( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.EntityPlayer.c( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.Entity.K( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.EntityLiving.K( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.Entity.t_( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.EntityLiving.t_( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.EntityHuman.t_( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.EntityPlayer.l( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.PlayerConnection.a( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.PacketPlayInFlying.a(SourceFile:126) [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.PacketPlayInFlying.a(SourceFile:8) [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$ [spigot.jar:git-Spigot-e4d4710-e1ebe52] at java.util.concurrent.Executors$ [?:1.8.0_71] at [?:1.8.0_71] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.MinecraftServer.B( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.DedicatedServer.B( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at net.minecraft.server.v1_8_R3.MinecraftServer.A( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at [spigot.jar:git-Spigot-e4d4710-e1ebe52] at [?:1.8.0_71] Caused by: java.lang.IllegalArgumentException: Cannot use null location! at [spigot.jar:git-Spigot-e4d4710-e1ebe52] at org.bukkit.event.player.PlayerMoveEvent.validateLocation( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at org.bukkit.event.player.PlayerMoveEvent.setTo( [spigot.jar:git-Spigot-e4d4710-e1ebe52] at multiworld.addons.EndPortalHandler.onPlayerPortal( [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_71] at sun.reflect.NativeMethodAccessorImpl.invoke( [?:1.8.0_71] at sun.reflect.DelegatingMethodAccessorImpl.invoke( [?:1.8.0_71] at java.lang.reflect.Method.invoke( [?:1.8.0_71] at$1.execute( [spigot.jar:git-Spigot-e4d4710-e1ebe52] ... 23 more


Date created
Oct 21, 2011
Last update
Mar 21, 2016
Development stage
  • enUS
All Rights Reserved
Curse link
Reverse relationships
Recent files
  • R: v5.2.8 for 1.9 Mar 21, 2016
  • R: v5.2.7 for 1.8.1 Mar 02, 2016
  • R: v5.2.6 for 1.8.1 Jan 22, 2015
  • R: v5.2.5 for CB 1.7.9-R0.1 Dec 07, 2014
  • R: v5.2.4 for CB 1.7.9-R0.2 Sep 28, 2014