##Graveyards - Pre-defined Spawnpoints for Players!
About:
Graveyards is a simple spawnpoint defining plugin. When players die, they respawn at the nearest graveyard.
GitHub Repository:
You can view the GitHub repository of Graveyards here!
##Commands
/gy - Displays version information about the Graveyards Plugin. (Aliases: gy, graveyard)
/gy create <name> [world] [x, y, z] [x, y, z] - Creates a graveyard with the given name at the provided world, location and orientation, or your current world, location, and orientation if none are provided. (Aliases: mk, create, add)
/gy destroy <name> [world] - Destroys a graveyard with the given name in the provided world or your current world if none is provided. (Aliases: rm, destroy, remove)
/gy list [world] - Lists all graveyards in the provided world or your current world if none is provided. (Aliases: ls, list)
/gy nearest [world] [x, y, z] - Identifies the nearest graveyard from the provided world and location or your current world and location if neither is provided. (Aliases: fd, nearest, closest)
/gy teleport <name> [world] - Teleports you to the graveyard with the given name at the provided world or your current world if none is provided. (Aliases: tp, teleport)
/gy setMessage <name> [world] <message> - Sets the welcome message of the graveyard with he given name at the provided world or your current world if none is provided. (Aliases: sm, setMessage)
Good Idea! I really like how you split the main command into sub-commands as this has to be done waaaay more often! Don’t forget that graveyards.command gives access to create, destroy and list when using PermissionsEx so you might prefer something like graveyards.command.help
Just one more suggestion: There is actually a reason why SQLite as well as MySQL contains the “UPDATE” param. Dropping a table and inserting everything again is reaaaally not the way it was meant to be back in the days…
Awesome idea, sounds great for rpg servers. The only problem I can see with this is that players could easily spawn camp the graveyards, so you might want to implement some sort of PvP protection around graveyards. You could do that or do something similar to Cube world where you respawn at the second closest graveyard.
Refactored DB to create a new table per world to prevent name conflicts of two worlds having a Graveyard with the same name.
Changed permission of the /gy command from graveyards.command to graveyards.command.help
@CreepsterLGC Thanks for the suggestions, I’m still a bit of a noob when it comes to SQL, let me know if you think my new method of handling the tables is any better.
@Gamefreak_0 I think doing no pvp regions falls outside of the scope of this plugin and would be better handled by something like WorldGuard, however I like the idea of setting players to spawn at the second closest graveyard, be on the lookout for that option in an upcoming release.
@TrenTech I don’t believe at this time it is implemented, you can see a list of all implemented events here. In any case, if you’ve figured out a way to make it work, let me know!
Changed method of setting player respawn location to rely on the /spawnpoint command
Cleaned up code and squashed some bugs!
With this release comes the first functioning version of Graveyards! Go forth and create some! If the future I intend to add a feature I’ve always wanted in a graveyard plugin: Discoverability! In other words, you will be able to set some minimum discovery distance X around a Graveyard that players must get below in order to “discover” the graveyard and be able to respawn at it in the future. It will all be configurable and able to be disabled of course. As always, Feedback/Feature Requests are welcome, enjoy this update!
[1]: Release It Works! · Zerthick/Graveyards · GitHub “Graveyards v1.0.0”
In addition to custom graveyard/respawn messages which I know you’re planning, might I suggest adding the ability to set a direction for the player to be facing when they respawn? This seems like a rather important feature to me.
Thank you for your suggestions. Player spawn orientation is a planned feature. I hope to overhaul this plugin soon once I finish another project. Be on the lookout for an update adding a few more features.
When creating graveyards, your orientation is now also saved, players will have the same orientation when spawning. Updated the /gy create command accordingly to allow specifying orientation from console.
You can now set custom graveyard spawn messages using the /gy setMessage command. You can also specify the default message in the new graveyards.config.
Changed graveyard data storage from utilizing SQLite to utilizing the Configurate library built-in to sponge, unfortunately this means that previous graveyard data will not be transferred.
I would like to gather input from you all about the next feature I’m considering adding to Graveyards, discoverabilty. In essence, players will have to cross a certain distance threshold to a graveyard (i.e. “discover” it) before they are able to spawn at it in the future. Is this a feature you all would like to see? If so, what are your thoughts about implementing it? Should graveyard discovery happen automatically? Should players have to run a command to discover a graveyard? Something else? Let me know!
I would LOVE the discoverability option! Maybe have the distance configurable, but say 500 blocks, or 250 blocks from the spawn point would be reasonable IMO.