SavageGraveyards
Description:
This plugin implements discoverable graveyards. Players will respawn at the nearest graveyard location that they have previously discovered, with temporary immunity from mob attack.Features:
- Create hidden graveyards that require discovery, or unhidden that are always available.
- Enable or disable graveyards individually, without deleting them (to make a graveyard temporarily unavailable, for instance).
- Custom discovery message per graveyard location, or use the default message in the customizable language file.
- Custom respawn message per graveyard location, or use the default message in the customizable language file.
- Safety cooldown prevents mobs from attacking after respawn for a configurable amount of time. Per graveyard setting overrides default in configuration file.
- Customizable discovery range, can be set per graveyard location or use configured default.
- Teleport command allows admins to instantly travel to any graveyard.
- Group permissions setting per graveyard, so graveyards can be made available only to players within a certain group.
- Intelligent tab completion for all commands.
- Custom messages and language localization.
- Per world enabled in configuration.
- Uses sqlite for persistent storage.
- A perfect compliment to SavageDeathChest and SavageDeathCompass.
Permissions:
Player's are granted all necessary permissions by default.All admin permissions are granted with
graveyard.admin
Complete list of permission nodes here
Commands:
Complete command reference hereInstallation
Put the jar in your plugins folder and restart your server. Edit the generated configuration file to your liking, then reload the plugin settings with the/graveyard reload
command. No server restart necessary!
Configuration
HereSource
Source code for this plugin is hosted on github and distributed under the GPLv3 license.https://github.com/tim-savage/SavageGraveyards
@Drakortha
I will be uploading a version that addresses this issue in the next day or two. I have at least one other plugin with the same issues, so I am waiting to see if the fix applied to that plugin remedies the problem. As soon as I am confident that the fix is working, I will apply it to this plugin and upload a new version. Thanks for your patience.
Hello, I've installed this plugin and configured on my 1.9 spigot server, but I get a "An internal error occured while attempting to perforim this command" whenever I type in a /deathspawn command.
Heres the error I get in the console;**
[19:11:34] [Server thread/ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'deathspawn' in plugin SavageDeathSpawn v1.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at org.bukkit.craftbukkit.v1_9_R1.CraftServer.dispatchCommand(CraftServer.java:645) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.PlayerConnection.handleCommand(PlayerConnection.java:1302) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.PlayerConnection.a(PlayerConnection.java:1137) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:45) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.PacketPlayInChat.a(PacketPlayInChat.java:1) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.PlayerConnectionUtils$1.run(SourceFile:13) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.7.0_09] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [?:1.7.0_09] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.7.0_09] at net.minecraft.server.v1_9_R1.SystemUtils.a(SourceFile:45) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.MinecraftServer.D(MinecraftServer.java:721) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.DedicatedServer.D(DedicatedServer.java:400) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.MinecraftServer.C(MinecraftServer.java:660) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at net.minecraft.server.v1_9_R1.MinecraftServer.run(MinecraftServer.java:559) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] at java.lang.Thread.run(Unknown Source) [?:1.7.0_09] Caused by: java.lang.NullPointerException at java.io.Reader.<init>(Unknown Source) [?:1.7.0_09] at java.io.InputStreamReader.<init>(Unknown Source) [?:1.7.0_09] at com.winterhaven_mc.savagedeathspawn.ConfigAccessor.reloadConfig(ConfigAccessor.java:57) [?:?] at com.winterhaven_mc.savagedeathspawn.ConfigAccessor.getConfig(ConfigAccessor.java:66) [?:?] at com.winterhaven_mc.savagedeathspawn.MessageManager.sendPlayerMessage(MessageManager.java:154) [?:?] at com.winterhaven_mc.savagedeathspawn.MessageManager.sendPlayerMessage(MessageManager.java:77) [?:?] at com.winterhaven_mc.savagedeathspawn.CommandManager.createCommand(CommandManager.java:693) [?:?] at com.winterhaven_mc.savagedeathspawn.CommandManager.onCommand(CommandManager.java:138) [?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [minecraft_server.jar:git-Spigot-1a196e1-09b4549] ... 16 more
Do you intend on updating to 1.9? Thanks for a great plugin.
@zatbel123
Yes, both of those errors were corrected with version 1.0.1. I had inadvertently used a couple of Spigot specific methods in version 1.0.
Two errors in the console when I used the craftbukkit 1.7.10: http://pastebin.com/KbgSFDGs http://pastebin.com/4CwTQUBK
@zatbel123
Cool, I'm glad you got it working. What issues were you having with bukkit 1.7.10? I'd like to have it working for all versions of bukkit/spigot if possible, at least back to 1.6.4.
I found out what the problem is, I used the Craft Bukkit 1.7.10, now I switched to the Spigot 1.7.10 and it worked perfectly, sorry about anything.
Thank you, this plugin is awesome!
@zatbel123
Version 1.0.1 should have addressed any issues with pre-1.8.x servers, and I did do some light testing with 1.7.10. If you find something that isn't working on a particular server version, let me know, and I'll try to fix it.
Version 1.1 will be out soon, it addresses a couple minor bugs and allows for customization of the formatting of the list command output, but no major changes beyond that.
Do you have plans to put compatibility with 1.7.10? Please, I loved this plugin, it would be perfect for me = (
@Joukur
I just saw your edit, and I'm so glad that was the issue and it's solved! Thank you so much for letting me know, so I can put this issue to rest.
I'll make a note of this in documentation for others.
- Tim Savage
@Joukur
Well, I'll do what I can to help, and offer whatever advice. I'm currently testing a version of this plugin that will allow setting the priority of the player respawn event listener, so if that pans out, it should be easier to make it work with other plugins that also do things with player respawns.
The trouble I had with EssentialsSpawn was that it was conflicting with MultiVerse. I don't remember the exact details, but I would get one feature working the way I wanted, and invariably something else would break; I just couldn't seem to get those two plugins to play nice together no matter what I did. Eventually, I removed EssentialsSpawn, and I created a command alias (in the server's command.yml file) for /spawn that executes the MultiVerse spawn command, /mvs. This solved all of my own requirements, but of course others will have different expectations, so ymmv.
Anyhow, EssentialsSpawn does have a configuration setting for respawn-listener-priority. It is near the very bottom of the essentials config.yml file. The comments suggest setting this to lowest to allow MultiVerse to handle the spawning, and since my plugin listens at priority level NORMAL, I would assume this will work for letting SavageDeathSpawn take precedence over EssentialsSpawn. The listener priority affects the order in which plugins act on a particular event, with LOWEST being first and HIGHEST being last. LOW, NORMAL and HIGH are in between these. It really only makes a difference when more than one plugin is set to act on a particular event, such as the PlayerRespawnEvent, as is happening here.
@timsavage
I believe you're probably correct. I am using EssentialsSpawn because I'm a newbie at server creation this all seems to be getting the better of me haha. But yes I am using EssentialsSpawn.
How do I change the priorities of said plugin/plugins to stop it from happening? Such as when you said changing it to low ect? I understand you probably can't be bothered to help and that's understandable there is probably tutorials but I to would not be bothered but yeah, if not what spawn plugin do you recommend? I would hate to remove this plugin because the server I'm building would work perfectly with this plugin.
Thanks a lot in advance.
EDIT: I found the thing you mention in your EDIT. Changed it to Lowest and now it works like a charm. Thank you very much boss!
@Joukur
Ok, it sounds like you have found a bug, or maybe a plugin conflict. Do you have any other plugins installed that might restrict or interfere with player
teleportingrespawning? By any chance are you using Essentials Spawn plugin?What server version are you running? Any messages in the console when this happens?
Using the deathspawn show command, is it showing enabled? Hidden? Does it have a group set?
Thanks for the report, I'll get it fixed as soon as we can determine the cause.
Edit: After a code review, I'm convinced that this is a plugin conflict. If you are using the Essentials Spawn plugin, that is the most likely culprit. It does have a config setting to allow changing the priority of its respawn event listener. Since this plugin listens at event priority NORMAL, setting Essentials spawn priority to LOW or LOWEST will ensure that this plugin sets the respawn location after Essentials. Personally, I gave up on Essentials Spawn a long time ago, although I do still use other members of the Essentials suite.
This might be a stupid question but I'm so frustrated now.
I have created my first Graveyard (where I placed my Death Spawn) .
However, when I die and click respawn it takes me back to the spawn but still promopts the
You have respawned at so and so, you are now safe from enemies for so and so, but I didn't spawn at the grave yard. how do i fix this.
Server is 1.8
Nice Idea
Okay, this version (1.0.1) fix this problem? Thanks!
@zatbel123
Yes, I think there is an issue with server versions before 1.8. I'm looking into the fix for that.
I also see a reference to DisableRespawnScreen in your stack trace. It's possible there is a conflict with that plugin. I'll investigate that situation and see what I can do.
Hi timsavage, your plugin is very good! But I have two problems, I created a deathspawn, I put the attributes just that's when I find the death spawn makes no sound and does not send any message. My server is 1.7.10 bukkit is it that? If you can colocoar compatibility with the 1.7.10 I'd appreciate it, thanks. Two errors in the console: http://pastebin.com/KbgSFDGs http://pastebin.com/4CwTQUBK
Version 1.0 is
awaiting approvalnow available for download!