This is a discussion topic for the Ore project, PleaseWelcome. View the full project on Ore for downloads and more information.
PleaseWelcome
PleaseWelcome is a Sponge plugin to decide what happens when a new player joins the server.
Commands
/pleasewelcome setspawn Sets the spawn to teleport people to when they join for the first time.
/pleasewelcome gotospawn Teleport to the spawn location
/pleasewelcome removespawn Removed the spawn location. New players will spawn at the default spawn.
/pleasewelcome setinventory Sets the inventory to give players when they join.
/pleasewelcome sendtospawn <player> Send a player to welcome spawn.
Permissions
pleasewelcome.mod.setspawn Allows a player to use /pleasewelcome setspawn
pleasewelcome.mod.gotospawn Allows a player to use /pleasewelcome gotospawn
pleasewelcome.mod.removespawn Allows a player to use /pleasewelcome removespawn
pleasewelcome.mod.setinventory Allows a player to use /pleasewelcome setinventory
pleasewelcome.mod.sendtospawn Allows a player to use /pleasewelcome sendtospawn
Configuration
When PleaseWelcome starts for the first time, it will generate a config where you can set misc settings.
welcome.commands A List of all the commands that will be executed when the player joins. You can freely use target selectors in these commands. For example, use @p to get the player that joined.
welcome.message The message to show when a player joins the server for the first time. This is an TextTemplate.
Nice work, consider adding a command list that runs as well, will allow people to use arbitrary plugins targeting the player on first join, with a variable / selector that targets the newly joined player.
Consider adding some timeouts to “reset” a player depending on last played / first played / time played.
Common functionality is to reset the player to the start, if they have less then a few minutes of play, and have made no actions / havn’t left spawn, as they may miss announcements etc if they lagged out or something.
Resetting a player if they have very small amount of play time, and havn’t logged in a long time is also somewhat appropriate to take them through the new player experience again.
Running commands when the player joins can already be done, where the joined player can be gotten using @p for example execute @p ~ ~ ~ summon FireworksRocketEntity ~ ~ ~ {LifeTime:20,FireworksItem:{id:fireworks,Count:1,tag:{Fireworks:{Explosions:[{Type:1,Flicker:1,Trail:1,Colors:[16776993],FadeColors:[16749107]}]}}}}.
The plugin currently has a buffer of a few seconds where it will reset the player if they for example lost conncetion the first time they tried to log in. I guess I could expand on that slightly. As for doing stuff based on how long they have been on the server, I won’t add any time tracking features to this plugin itself, but I wouldn’t be opposed to hook into other plugins that offer that info.
So small error i get when a new player joins the server but “Server thread/ERROR [pleasewelcome]: Could not load welcome data from storage” also the base fireworks dont go off when a new player joins