LobbyAPI
What is LobbyAPI
LobbyAPI was created to manage multiple worlds and allow players to teleport to those worlds using user friendly menu, while being able to be fully configurable.Just by using the commands /lobby or /hub, the player has access to all worlds specified in the menu, where when they click on the block the represents a world they are teleported to location given to that world. LobbyAPI has tons of configurable methods to change the color of the block in the menu, the amount of that block, what spot it is located, and the description of the world, who can see or go to a world, along with the methods for how the world will interact with other worlds.
How to create and manage worlds
If you a re new to LobbyAPI, you can find a guide how to set up worlds at this link:
https://dev.bukkit.org/projects/lobbyapi/pages/events/basic-command-tutorial
Features
- Allows players to teleport from world to world.
- Menu is fully customizable
- Shows all players in given world
- Allows players to teleport from Server to Server (for bungee servers only).
- Allows other plugins to access when a player teleports to a new world or clicks on a new world in the menu.
- Works on all versions of Bukkit
- Plugin support LobbyAPI is just the back-bone for the plugins that will add the worlds. All that is needed to add a world to the menu will be under Developer Information.
Icon Customization is here!
Now you can easily customize the materials, description, and other attributes for each world registered!
Commands
/Lobby | Opens up the WorldMenu |
/Hub | Opens up the WorldMenu |
/LobbyApi | Allows you to change some properties of LobbyAPI |
/LobbyApi addWorld [world] [slot] [x][y][z]..... | Adds a world to the LobbyAPI menu |
/LobbyApi removeWorld [world] | Removes a world to the LobbyAPI menu |
/LobbyApi addServer [server-name] [slot] | Adds a server to the LobbyAPI menu |
/LobbyApi removeServer [server-name] | Removes a server to the LobbyAPI menu |
/LobbyApi listServers | Shows a list for all the servers |
/LobbyApi listWorlds |
Shows a list for all the worlds |
/LobbyApi setDefaultWeather [world] [weather] | Sets the default weather for a world. Choices are NORMAL, NO_RAIN, and ALWAYS_RAINING |
/LobbyApi addJoiningCommand [world] [command] | Adds a command that should be sent when a player joins that world. |
/LobbyApi removeJoiningCommand [world] [command id] | Removes a command that should be sent when a player joins that world. |
/LobbyApi listJoiningCommands [world] | Lists all the commands that are sent when a player joins that world. |
/LobbyApi listJoiningCommands [world] | Lists all the commands that are sent when a player joins that world. |
(There are a few more commands, but I've had issues recreating the table :p):
/LobbyAPI generateNetherAndEndFor", "Generates a nether and end world for the world"
/LobbyAPI setMainLobby", "Changes the default spawn world"
/LobbyAPI removeMainLobby", "Removes default spawn world"
/LobbyAPI setMaterial", "Sets the material icon for a world"
/LobbyAPI setDisplayName", "Changes a display name for a world."
/LobbyAPI setDescription", "Sets the description for a world"
/LobbyAPI hideWorld", "Hides a world from the menu."
/LobbyAPI showWorld", "Shows the world from the menu, if previously hidden"
/LobbyAPI setWorldSelector", "Sets the word selector to be the item in the sender's hand"
/LobbyAPI removeWorldSelector", "removes word selector"
/LobbyAPI setGamemode", "Sets the description for a world"
/LobbyAPI changeSpawn", "Changes the spawn location for a world"
/LobbyAPI version", "Gets the version of the plugin"
/LobbyAPI setvoidlooping", "Enables or disables teleporting players to spawn if they are in the void"
/LobbyAPI setdisablehealthandhunger", "Enables or disables health or hunger changes for worlds"
/LobbyAPI setlocationsaving", "Enables or disables location saving when a player leaves the world"
/LobbyAPI setcanuseportals", "Enables or disables portals for certain worlds."
/LobbyAPI addDefaultItem", "Adds the item in your hand to the list of default items."
/LobbyAPI removeDefaultItem", "Adds the item in your hand to the list of default items."
/LobbyAPI listDefaultItems", "Adds the item in your hand to the list of default items."
/LobbyAPI addDecor", "Adds a decor item to the hub menu"
/LobbyAPI removeDecor", "Removes a decor item."
/LobbyAPI toggleWhitelist", "Toggles whether the world is restricted to only certain players"
/LobbyAPI addToWhitelist", "Adds a player to a world's whitelist"
/LobbyAPI removeFromWhitelist", "Adds a player to a world's whitelist"
/LobbyAPI listWhitelist", "Adds a player to a world's whitelist"
/LobbyAPI goto", "Teleports the player to the spawn of a world"
Permissions:
- lobbyapi.*
- ---Gives access to all lobbyapi features
- lobbyapi.user
- --Gives all commands that users should have. If you do not know what permissions to give to your players, just give them this.
- lobbyapi.commands
- --Only gives access to commands
- lobbyapi.hub
- --Gives access to the /hub commands.
- lobbyapi.bypassworldlimits
- --Gives players the ability to join worlds that are private, or have gone over the player limit
Dependencies and Compatibility
LobbyAPI does not depend on any other plugin, and should work with all other plugins. If you receive any errors from my plugin or features or not enabled for you, please make a comment or ticket of this page.
Developer Information
If you want to register a world through a plugin, use the guide HERE . Call this method in onEnable method to register worlds when the plugin loads.
To add a BungeeServer to the menu, all you need is this line: LobbyAPI.registerBungeeServer(String bungeeServersName, Description, WoolColor);
How to Install
- Drop this plugin into you plugins folder
- Find/Create a plugin that will allow you get to your world
- Restart your server
This plugin uses bStats:
bStats is a metrics service that allows me to to see how many servers use my plugins, how many players they have, and which countries use my plugin the most. All information is anonymized, so no information can be directly linked to you, and instead is added to the average of all severs that use the plugin.
In reply to Forge_User_21966855:
First, which version of minecraft are you using? Are you on 1.14, or are you using an older version?
Also, are all the names of the worlds lower case? As of 1.13, minecraft does not support worlds with uppercase letters in their name.
Finally, are there any errors in the console?
After my last comment i said that the problem was fixed but that seems to only be for the nether, for some reason no matter which world im on (with linked end) it doesnt go to the end for that world but the default worlds end. It also always tps me to the coords of the stronghold in the end. If you can help then PLEASE do as ive already spent hours trying to fix the issues that have came up. if you need any clarification just ask for it. I really need an answer.
Thank you in advance.
Hey, I did the GenerateNetherAndEndFor command but i still go to the same nether no matter what world im in. I looked in the config file and it says that the nether is linked for the world there, but i always go to a different worlds nether.
Also is there a way to make it so that when you go back to a world you were previously in you spawn in the same place you were before?
In reply to vezvezend:
world1 = default server world
world2 = world where i couldn't get to its nether.
In trying to fix this I ended up just deleting the world1 and the default nether world and default world end files (the nether i was going to was always the default nether one), after this when i tried to go into the nether (from world2) it says "previous world is null" I then went to a save of world2 before i even installed the plugin. That didn't fix anything.
I am going from a vanilla world, i tried deleting the DIM1 and DIM-1 files which did nothing, i also copied the stuff from DIM1 and DIM-2 into the right places for the world2 linked nether, i dont know if that did anything because i cant get into that nether or now, any nether from world2. Nether works fine in world1.
I then tried remaking the end and nether files for world2. After that i went back and re added my DIM1 and DIM-1 files into the nether and end files and NOW IT WORKS!!! I spent like a total of 8 hours sorting out my issuses (like 2 of those hours were just bukkit things)
If anyone has a similar issue and needs help figuring out how to solve it just message me I dont want anyone to have to try and figure this out by themselves.
Seems like a great plugin and im excited to use it more.
I still need to know how to go back to my previous location in a world when i warp to it.
Sorry if this is hard to read I was writing each step as i tried it, mostly in between re opening the server.
In reply to vezvezend:
Nvm figured out how to do location saving. (/lobbyapi setlocationsaving (world name, no brackets) true) <-- For anyone who was curious.
Another problem i'm having is when the end is correctly linked to my world, when tping to the end you keep your items but you spawn right above the end portal and when leaving the end you lose all your items. When unlinking the end you spawn in the correct place with your items and when leaving you keep your items, but when tping to the same world while in the end you are put at spawn and when disconnecting and relogging in the end you spawn in the hub world, a seperate world, with your items and are unable to tp unless a op uses goto, after tping you lose your items in the end and overworld.
In reply to ES_Wizard:
Are the items actually disappearing, or is a rendering glitch (where rejoining returns the items)? If it's actually disappearing, are there any errors in the console? If its just the rendering issue, this is a known issue and is something I am working on.
As for the end portal issue, this is just bad luck. LobbyAPI gets the world's spawn and teleports them to them, and it could just be that the spawn registered for the end was set to directly above the ender portal. However, I'll look into making sure this does not happen.
I'll also add an option to change the spawn-locations for enders/nethers in the next update.
In reply to Zombie_Striker_bukkit:
Sorry for the wait.
When the worlds are correctly linked:
- Entering the end I keep my items, I am spawned directly above the end portal and a new obsidian platform is made right above the end portal blocking access to the portal completely unless you mine the obsidian, No errors in the console
- Leaving the end I lose all my items, definitely not a rendering glitch, I am correctly spawned at my bed, no errors in the console
When the worlds are not linked in the config:
- Entering the end I keep my items, I am spawned in the correct location, not directly above the end portal, And get this in the console https://pastebin.com/j6urS7ZS
- Leaving the end I keep my items, I am correctly spawned at my bed, And get this in the console https://pastebin.com/7hN7BhhS
- Another issue when worlds are not correctly linked, when teleporting to smp1 while in smp1_the_end I am teleported to the overworld falling into the end portal, I am then teleported to the ends spawn
Also when the worlds are linked and unlinked the ender chest works properly
Hope this helps
Probably an easy question just involving configuration but I have a bungee server running paper 1.13.2-1.14.4. Whenever I type /hub and hover over different server groups. They all say 0 players in each world. Any idea how I fix this?
In reply to i_dont_need_help:
This will be fixed in a future update.
In reply to Zombie_Striker_bukkit:
Any update on this? Been broken since the day I installed the plugin 3 months ago.
There seems to be a bug, when teleporting to the world you are already in it sends you to the spawn, this is problematic as its used on a SMP world. I have save location on, when teleporting from the hub to the smp world you are put in your last location, when teleporting to smp from smp you are sent to spawn.
In reply to ES_Wizard:
In the new update, there is a setting in the config to disable this.
In reply to Zombie_Striker_bukkit:
Thanks so much, works perfectly now!
In reply to Zombie_Striker_bukkit:
Which setting?
Hello, I am having a problem after I use add world for the first time it is added correctly but after a restart, It actually generates a new world! For example: if i /lobby addworld Spawn blah blah blah.
It works then, when I restart (that's stopping and staring). When I go to /lobby -> Spawn it goes to a different world.and also It creates another world in the folder that's Spawn is the original and spawn is the replica...{Hope you understand} i use Multiverse Core and Inventories too~
In reply to mNandhu:
Was the world name provided "Spawn" with the capital S? If so, bukkit does not support world names with capital letters. LobbyAPI should make all the letters lower case, but in case there is some glitch somehow, try making sure all the letters are lowercase for the world's name.
Hi, im using the latest version of this plugin and when i add Default Item to my world and it doesnt spawn in inventory when i join server. Tried to do it in config too but same, setWorldSelector works fine when i use /give to give that specific item to me but when i drop the item and join server again it doesnt spawn in inventory. Anything to fix this? Thanks.
Hi, ive used this plugin today and when I used it, it cleared all my friends inventories! is there anything that I can do to fix this?
The plugin is good and all, but I'd like to have a file, where I can translate the messages, and remove that when a plyer joins to the world, don't show the players. And I would like to disable that, in the GUI it shows the players. I would like to have options for this.