Universes icon

Universes -----

A multi-world plugin for 1.14+



Universes
Interdimensional Travel Made Possible
Now sponsored by/in partnership with/endorsed by/somehow connected with Apex Hosting!



[​IMG]
https://apexminecrafthosting.com/

THE 5.0 Update Has Arrived!

PER WORLD INVENTORIES ARE NOW SUPPORTED

Universes 5.0 brings about some major changes to the backbone of the plugin. Please have a look at the updates page to see what has changed. Also, come check out the new Discord server: https://discord.gg/pSBKafQ.

(NEW VIDEO)

Hello all, and welcome. As the title suggests, this is a plugin for multi-world management. It is a fairly extensive plugin, so please be sure to read through everything so you know how it works. Also, please note that while this may work to an extent on server running 1.13 and earlier, support for errors on those versions will not be provided.

First, the commands:
/universehelp
Alias: /uh

This command will show the plugin help page, aka a list of all available commands.

/universelist
Alias: /ul

This command will show a list of all available worlds.
/universecreate <world name> <environment> <type> <difficulty> <seed>
Alias: /uc

This is the command used for the creation of worlds. When creating a world, you must give a name, environment (normal, nether, or end), type (for example, normal, amplified, or large_biomes), and the world difficulty (peaceful, easy, normal, hard). If you experience any crashes while creating worlds, please go to your spigot.yml file and find the line that says "timeout-time" Increase it from 60 to somewhere around 300 (1 minute to 5 minutes) and it should resolve the issue. This will require restarting the server.

/universeimport <world name> <environment> <type> <difficulty>
Alias: /ui

This is the import command. Use this if you have a preexisting world that you want to import. The plugin verifies that the world is of the correct format before importing. All of the fields are the same as for the creation command.

/universeunload <world name>
Alias: /uu

This command will unload a world from the server without deleting it. Use this if you want to remove a map from the server to use it somewhere else.

/universedelete <world name>
Alias: /ud

This command is the delete command. Use this to remove a world from the server and delete it from the files. This will require running a confirmation command.

/confirm
Alias: none

When deleting a world, you will be prompted to run this command. Once this command is executed, the deletion process will begin. If you did not already run the /ud command, this will not do anything.

/cancel
Alias: none

This is similar to the /confirm command. Use this to cancel a world delete. If you have not run the /ud command prior, this will do nothing. After running /cancel, /confirm will no longer work.

/universemodiy <world> <item to modify> <new data>
Alias: /um

This is the modify command. Use this to modify world data. You will find all modifiable fields in the world-settings.yml file. The currently modifiable items are as follows: pvp, spawn, allowMonsters, allowAnimals, gameMode, respawnWorld, playerLimit, and allowFlight. There will be more about each setting below.

In universes 2.0 and later, running the command with no arguments (just typing /um or /universemodify) will open up a GUI from which all the settings can be changed.

/universeoverride <override type>
Alias: /uo

This command allows users with appropriate permissions to override various world settings. The current overrides are: gameModeOverride, canJoinFullWorlds, and flightOverride. In the command you can fully type each of those out or use their aliases, which are gmo, fwo, and flo respectively. More about these overrides below.

In universes 2.0 and later, running the command with no arguments (just typing /uo or /universeoverride) will open up a GUI from which all the settings can be changed. This GUI will only show options a player has access to. If they have access to none of the overrides, they will be told so and the GUI will not open.

/universeteleport <world name>
Alias: /ut

This is a teleport command. Users with the proper permission can use it to teleport between worlds to their previous coordinates in worlds.

/universespawn
Alias: /us

This is a teleport command. Users with the proper permission can use it to teleport between worlds to world spawn points.

/usetspawn
Alias: /usp

This is the command used to set the spawn point for first time players. (Please note that by default players will just go to the regular spawn if no first join spawn has been set.)

/universereload
Alias: /ur

This command will reload all of the configuration files and apply changes made to them.

/universeconvert
Alias: /uco

This command should only be used on servers upgrading from Universes 4.x.x to Univeres 5.0 and later. It will transfer all of the saved data to the new database storage system.

/universeinfo
Alias: /uinfo

This command will print out all the stats of a given world. Useful for debugging purposes.

/universeresetplayercount
Alias: /urpc

Resets the player count to 0 and the player limit to the default of -1 for the given world. All players in that world will be kicked in the process.

Universe Spawnify Commands
/setgroupspawn
Alias: /sgs

This command sets the spawn point for a given world or world group

/spawn
This command teleports the user to the spawn point of the world or world group they are in. Teleports players to the hub if the spawn is not set

/anyspawn
This command teleports the user to the spawn point of a world or world group of their choosing.

/sethub
Sets the hub point

/hub
Teleports the user to the hub point.


Settings and Overrides
First, the world settings. They are all fairly self explanatory. PvP allows or disallows player versus player in that world. Spawn changes the world's spawn location. allowMonsters will allow or disallow all hostile mobs. When this is set to false, all hostile mobs are instantly cleared from the world. allowAnimals is the same as allowMonsters, but for passive mobs. When this is set to false, all passive mobs will instantly be cleared from the world. Any tamed mobs will NOT be deleted. So don't worry about losing your precious puppies and kitties. gameMode is the game mode of the world. When a player teleports into the given world, their game mode will be updated to whatever the world's game mode is set to. respawnWorld determines which world the player will respawn in when they die. playerLimit limits the amount of players permitted to enter a world. Once a world has reached it's limit, other players will be denied from entering. To disabled the limit, toggle the option in the GUI to false. Currently, 0 is the default player count for this setting with limits being toggled off. Next is allowFlight. This allows or disallows flying in a world. When a user tries to toggle into flying (via double tapping space bar), while allowFlight is false, whether it be in creative mode or with /fly enabled, they will be denied flight. If a user is already flying when this setting is changed to false, they will be told that flying is no longer allowed, and they will be toggled out of flying. Then there is now a Difficulty toggle in the world settings GUI. You can use it to change the difficulty in your current world. Lastly, There are Block Command and Unblock Command options in the GUI that will allow you to block and unblock commands in various worlds.

Overrides. These are important for admins. First, there is gameModeOverride. With this enabled, the user's game mode will not be changed upon switching worlds. With canJoinFullWorlds enabled, the user will be able to join a world even if the playerLimit has been reached. With flightOverride enabled, users will be able to toggle flying even if it is not permitted in a given world. Users with this enabled will also not be toggled out of flying when the allowFlight setting is updated. Finally, blockedCommandsOverride enabled, users will be able to run blocked commands.

In Universes 2.0 and later, there is a new override: perWorldInventoriesOverride. Enabling this will override per world inventories if they are enabled. This means users with this enabled will have their inventory shared across all worlds.

The config.yml
The config.yml now contains more descriptive comments for each option that should make use of the various function much easier to understand. However, this section may still be of some use so it will remain.

First, there is the per-world-inventories option. This allows you to turn on or off per-world-inventories.

Second, is per-world-stats. This allows you to turn on or off per-world-stats. If per-world-inventories is off, this should have no effect. If it does, let me know because that means I did something wrong. The stats that are held per world are health, hunger, and experience.

Third, is per-world-inventory-grouping. If per world inventories are on, this setting can be turned on to allow the use of world groups via the groups.yml file. What this means is worlds can be grouped together to share the same inventories and stats. When you make changes to the groups.yml file, a server restart will be required.

Fourth, is per-world-kit-grouping. This allows the per world kits to use the groups as well. The kits function will always be enabled, but if no kits are made, none will appear in the GUI when the command is used. The kits command also uses a unique command (/universekits or /uk) so as not to cause issues with any other kits plugins you may be using.

Fifth, is use-respawnWorld. In the world settings there is a respawnWorld option that allows you to define a world to respawn the player in when they die. For example, you have a world called Survival, a world called Survival Spawn, and a world called Lobby; and your spawn point is in the lobby. If you want players to respawn in Survival Spawn when they die, set the respawnWorld for Survival to Survival Spawn, and turn this option on. Then, when a player dies in Survival, they will be taken to Survival Spawn.

Sixth, is use-first-join-spawn. This allows you to enable or disable the first time join spawn.

Seventh, is prefix-chat. This will enable world prefixes which can be customized via the prefixes.yml.

Eighth, is world-entry-permissions. This will require players to have permissions to enter worlds.

Universe-Nethers
If you have the Universe-Nethers add-on plugin installed as well, two items will be added to the config under 'Universe-Nethers." They are as follows.

nether-per-overworld:
Turning this on will allow each overworld world to have its own nether. For worlds that already exist, a nether will have to be manually generated and it must have the same name as the overworld world with _nether added on. For example, if you have an overworld called Survival, the associated nether must be called Survival_nether. If you create a new world with this option enabled, it will automatically generate the associated nether for you.

Universe-Ends
If you have the Universe-Ends add-on plugin installed, one item will be added to the config.yml under Unverse-Ends.

end-per-overworld:
Enabling this will allow each overworld world to have its own end. For worlds that already exist, an end world will have to be manually generated and it must have the same name as the overworld world with _the_end added on. For example, if you have an overworld called Survival, the associated end must be called Survival_the_end. If you create a new world with this option enabled, it will automatically generate the associated end for you.

Universe-Spawnify
Universe Spawnify allows you to set a spawn for each world or group of worlds that can be teleported to with /spawn, and players to be sent to when they die. There is also a hub which can be set and reached with /hub. If a world or group does not have a spawn point, players are sent to the hub instead. This plugin also adds in a toggle in the World Settings GUI that can be used to change the spawn location. Spawnify now includes per world and per group bed respawn points (including respawn anchors). This feature can be enabled in the config.yml

Extra Information
This is some important extra information that you need to know before we get into permissions.
- In most plugins, like Essentials, that handle warps and homes, they can be set in any world and teleported to from any world. Inventories will be updated if the player is taken to any other world or world group.
- Changing the environment in the database will cause the world to generate with the wrong environment or configuration. For example, changing a nether world's type to normal will cause the world to regenerate as a normal world on startup.
- Changing the name of a world in the database will cause a new world to generate with that name and settings, and the previous world will not be loaded.
- There is no timer or timeout with the /confirm and /cancel commands. So be wary of that and don't forget about any world deletes you've started lest you do something you didn't want to do. (I do plan on adding expiration timers for this. I'm just trying to figure out how.)

Permissions:
Universes.override.gamemode

Grants the player access to the gameMode override

Universes.override.fullworld
Grants the player access to the canJoinFullWorld override

Universes.override.flight
Grants the player access to the flightOverride override

Universes.override.perworldinv
Grants the player access to the perWorldInventoriesOverride override

Universes.override.blockedCommands
Grants the player access to the blockedCommandsOverride override

Universes.override.*
Grants the player access to all overrides

Universes.createworld
Grants the player permission to create new worlds

Universes.listworlds
Grants the player permission to list worlds

Universes.importworld
Grants the player permission to import worlds

Universes.unload
Grants the player permission to unload worlds

Universes.delete
Grants the player permission to delete worlds and use /confirm and /cancel

Universes.modify
Grants the player permission to modify world settings


Universes.teleport
Grants the player permission to teleport between worlds to their previous world coordinates.

Univeerses.universe.<world_name>
Grants the player permission to enter a world if the world entry permissions feature is enabled. This is also used for granting users the ability to use /ut and /us for specific worlds. Replace "<world_name>" with your world's name.

Universes.universe.*
This is the same as the permission above, but grants permission for all the worlds on the server.

Universes.spawn
Grants the player permission to teleport between worlds to world spawn points.

Universes.usetspawn
Grants the player permission to set the first join spawn point.

Universes.convert
Grants the player permission to use the convert command

Universes.reload
Grants the player permission to use the /universereload command

Universes.info
Grants the player permission to use the /universeinfo command

Universes.resetplayercount
Grants the player permission to use the /universeresetplayercount command.

Universes.*
Grants the player permission for every command

Universe-Spawnify Permissions

Universes.Spawnify.spawn
Grants the player permission to use /spawn, /anyspawn, and /hub

Universes.Spawnify.setspawn
Grants the player permission to use /setspawn and /sethub

Universes.Spawnify.*
Grants the player permission for every Universe-Spawnify command


Closing Notes:
I know it's sorta a lot, but I thought it was all mostly necessary and useful. I hope you all enjoy this plugin. If you have feedback, suggestions, or want to report a bug, join me in my development discord server, "Whisp Reedwell's Plugin Corner" here: https://discord.gg/pSBKafQ.​
Resource Information
Author:
----------
Total Downloads: 8,371
First Release: Jun 6, 2019
Last Update: Jun 14, 2024
Category: ---------------
All-Time Rating:
32 ratings
Find more info at discord.gg...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings