DeathTpPlus
DeathTpPlus
DeathTpPlus announces a death with a random message based on the death cause and allows you to teleport to the point of death It can also create a TombStone at the place you died to let you save your inventory (aka DeadMansChest).You can also create a tomb sign which can be used as respawn point and as a place of information of how often you died and what your last death cause was.
IMPORTANT NOTE: Due to some issues with yaml you can get the following error: unacceptable character '?' " in the log, The fix is to remove the รค atm from the default messages and if you have custom messages to remove any of them using special characters. Sorry about that!
How does it work?
Take a look at how it works.. Videos
Also take a look at this picture to know what I'm talking about in the config file and on these pages
Based on the original plugin from lonelydime. Integrates a fork of furt from cenotaph and tomb from dark_balor.
PLEASE NOTE: Mung3r is taken over from here, he did already help me a lot and is willing to keep this plugin updated. THANKS a lot
Supports
- SuperPerms (Note: Permissions have changed from < 3.0 for the deathtp commands!)
- Vault for all economies!
- LWC (for Chest and Sign Protection of Tombstones)
- Lockette (for Chest and Sign Protection of Tombstones)
- DynMap (for displaying Tombs, TombStones and Last Deathlocations on your map)
- Metrics for more information about it
- CraftIRC is back
DeathTP
- Use /deathtp to teleport back to where you died.
- Optional: Charge a player an item to teleport (must be in the player's hand).
- Optional: Vault support for economies
DeathNotify
- Customizable messages for every kind of death.
- Supports multiple messages per kind of death, chosen randomly when someone dies.
- Custom colors per message.
- PvP messages that show the attacker as well as what they killed with. Item names have been cleaned up to look pretty.
- Optional: Show deathsigns where someone died and how they died.
TombStone
- Create a TombStone where you die and save your inventory.
- Highly Configurable via Permissions
- More Info on the TombStone Page
Tomb
- Create a Tomb Sign which holds the following information: The name of the player, the number of times he died and what was the last cause.
- Can be used as respawn point after death
- There can be more than one Tomb
- You can configure if the respawn point is based upon the world the player is in or across worlds
- More Info on the Tomb Page
Other stuff
- Streaks (Show a custom message when someone has killed a custom set of people or died a custom amount of times.)
- DeathLogs (Show the total number of times somebody died)
- MultiKills (Well... you know.... quake style... no sound though :-) )
- More Info on the DeathTpPlus Page
Don't want one of the features? No worries! Just disable it in the config file and it'll be like that feature isn't in the plugin at all! The file IOs aren't called and neither are the methods used for those features. Worried about performance? Don't be!
Install
- Upload the DeathTpPlus.jar file into your plugins directory.
- Start your server or do a reload
- Configure the config.yml file in your plugins/DeathTpPlus/
- Change the deathmessages and tombmessages to your liking, if you have some good ones post them here!
- Give the permissions to use certain commands or features
- Restart your server or do a reload to read changed config
Further Information like permissions, configuration and commands
Bugs
Todo
- Upcoming Features
- MAJOR Internal Reworking (that is really necessary)
- Updates to RB of CB
FAQ
- Q: Colors are not working correctly in messages, what is wrong?
A: If you are using Essentials Chat turn that off, otherwise you need to live with it or ask Essentials Teams why that happens. - Q: What does "expected <block end>, but found Scalar" in my log messages mean?
A: Probably you forgot to use \" or ' to get a " - Q: I see a killed by X message but I did use /suicide from essentials or similar.
A: This is a bug of the other plugin not setting the death cause correctly. Nothing I can do. Sorry. - Q: If I die in a cave or in nether and use /deathtp I will teleport back to the place I died but on top of the world
A: Change teleportToHighestBlock: true to false but read the comments first in the config. - Q: Could you support RegionPlugin XYZ?
A: Not until a general API similar to Vault for economics comes out. I will support region plugins I use myself. - Q: Can I help you?
A: Sure, you can try the most recent dev-build... should be in sync with the github issues!!!
Thanks
Actual Art is from JanTTuX, prior Art was from Wassilij.
Some silverfish deathmessages from boytheo
Some deathmessages from mog1255
Some coding help from dark_balor
Donators:
- CoRnMail
Changelog
- 3.9.16.2320
official 1.3.1 release, no changes to 3.9.16.2262
- 3.9.16.2262
changed new commands to dtptop and dtpreport with aliases for report and top
fixed a ClassCastException, top works in console now
- 3.9.15.2262
fix for EventException caused by ConcurrentModificationException
- 3.9.14.2262
fix for Failed to edit death log: java.lang.Exception: Failed to rename death log.
- 3.9.13.2262 (pulled)
npe fix during start
class cast fix
- 3.9.12.2262
added CraftIRC back again
"top" and "report" command
sounds for spout clients
periodic saving of death log files
fixed issue with logging death twice
fixed issue #80 where broadcast would show in world2 if you set it only to broadcast in world
lot of internal stuff
More changes can be found here.
hmm... will check the teleport and LWC issue..
Pyromancer3d any errors?
I don't know if it's because I'm using the alpha "BLEEDING EDGE" build of LWC or not, but I'm having difficulties with the tombstone when using LWC is set to True in the config file; works fine with lockette to true (does nothing, don't use lockette) and with both set to false. DTP 3.0, CB1559, LWC 491.
I switched to this plugin from BackToBody. The first thing I noticed is that the death spawn is always relocated to the surface if death occurs underground. Is this by design? I'm on 3.0 with CB1559.
Hurra, updates! ;)
Used this plugin for a very very long time, since there were no updates, I had to switch to herotic death.
With a 1.0 Update for dtp+, with the new items like potions, new mobs etc. I'll get excited to switch back to dtp+.
Thanks for updating guys.
@CocaRola
I think that is a known bug in the 1.0 code atm.. it will also happen if you log off
I think I've found a bug.
If you have enchanted stuff on you when you die they go back to normal when you pick the chest up. I run the latest version v2.03.
@theFallenBreed
as I posted in the forum... let me look into that.. could you also create a ticket for it .. something named like: Support for Non-Permission based servers if that is what you are looking for.. otherwise please post your config egain in code tags or via pastebin (even better) so that everything is being the correct way.
thanks... btw. I'm on vacation so I need some time for this..
Hi I just installed the plugin today and its not working properly. Idk if its because I'm using PermissionsBukkit and it just doesn't recognize the setup.
The plugin works properly when I die as an Op. It drops a chest and sign, even though I have the deathtpplus.tombstone.freechest false. But when I deop myself and die; only a sign appears. Though it leaves a free sign or tombstone to mark my death.
Even when I have a chest in my inventory when I am deoped, it does not use the chest to catch my items. It does this when I'm oped too, but leaves the chest in the 'free chest'. The deathtp works for both instances though.
I want to set it up so that it only catches your stuff when you have your own chest in your inventory but give you a sign to mark the death. I run PermissionsBukkit, iConomy, LWC, and several other plugins currently on my server.
DeathTP Node Setups:
**permissions.yml**
**DeathTP.Basic**:
**description**: Store player's items upon Death.
**default**: false
**children**:
#tombstones
deathtpplus.use true
deathtpplus.tombstone.lwc true
deathtpplus.tombstone.freechest false
deathtpplus.tombstone.freesign true
deathtpplus.tombstone.quickloot true
deathtpplus.tombstone.find true
deathtpplus.tombstone.list true
deathtpplus.tombstone.reset true
deathtpplus.tombstone.time true
#death plus stuff
deathtpplus.deathtp true
deathtpplus.streak true
deathtpplus.deaths true
deathtpplus.kills true
deathtpplus.worldtravel true
**DeathTP.Admin:**
**description**: Admin DeathTP Commands.
**default**: false
**children**:
#Admin
deathtpplus.admin true
deathtpplus.admin.list true
deathtpplus.admin.find true
deathtpplus.admin.remove true
deathtpplus.version true
#tombstones
deathtpplus.use true
deathtpplus.tombstone.lwc true
deathtpplus.tombstone.freechest false
deathtpplus.tombstone.freesign true
deathtpplus.tombstone.quickloot true
deathtpplus.tombstone.find true
deathtpplus.tombstone.list true
deathtpplus.tombstone.reset true
deathtpplus.tombstone.time true
#death plus stuff
deathtpplus.deathtp true
deathtpplus.streak true
deathtpplus.deaths true
deathtpplus.kills true
deathtpplus.worldtravel true
**config.yml**
**groups**:
**default**:
permissions:
DeathTP.Basic true
**mod**:
permissions:
DeathTP.Basic true
inheritance:
- user
**admin**:
permissions:
DeathTP.Admin true
inheritance:
- user
- Moderator
**owner**:
permissions:
DeathTP.Admin true
**DeathTpPlus Config:**
configVer: '2.01'
versionCheck: 'true'
logEvents: 'false'
economy-provider: 'vault'
deathtp-tag: 'all'
show-deathnotify: 'true'
allow-deathtp: 'true'
allow-deathlog: 'true'
show-streaks: 'true'
charge-item: '0'
show-sign: 'true'
deathtp-cost: '5' allow-worldtravel: 'yes'
enable-tombstone: 'true'
TombStoneSign: 'false'
noDestroy: 'true'
playerMessage: 'true'
saveTombStoneList: 'true'
noInterfere: 'true'
voidCheck: 'true'
creeperProtection: 'false'
Sign: Line1: "{name}"
Line2: "RIP"
Line3: "{date}"
Line4: "{reason}"
dateFormat: "MM/dd/yyyy"
timeFormat: "hh:mm a"
destroyQuickLoot: 'true'
TombStoneRemove: 'true'
removeTime: '3600'
removeWhenEmpty: 'false'
keepUntilEmpty: 'false'
LocketteEnable: 'false'
lwcEnable: 'true'
securityRemove: 'true'
securityTimeout: '3600'
lwcPublic: 'false'
Thanks for any help.
-Fallen
@deleted_7536780
did you check the "fixed" versions link I put into the tickets? Try that, it is version 2.03
I hope that fixes it, otherwise it will take some time as I'm on vacation..
@DonRedhorse
I dont have nicknames on my server
@deleted_7536780
Could you open a ticket for the PlayerName based NPE?
Also could you paste the correct Playername into that ticket?
How do you change your playername?
Would it make senser to use the normal playername instead of the nickname?
also got this.
17:53:58 [SEVERE] Could not pass event ENTITY_DEATH to DeathTpPlus
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.elementData(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.simiancage.DeathTpPlus.listeners.DTPEntityListener.onEntityDeath(DTPEntityListener.java:65)
at org.bukkit.plugin.java.JavaPluginLoader$64.execute(JavaPluginLoader.java:707)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:303)
at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:160)
at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:469)
at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:584)
at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:202)
at net.minecraft.server.EntityLiving.a(EntityLiving.java:563)
at net.minecraft.server.EntityHuman.a(EntityHuman.java:1072)
at net.minecraft.server.Entity.a(Entity.java:645)
at net.minecraft.server.EntityPlayer.b(EntityPlayer.java:406)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:376)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:615)
at net.minecraft.server.Packet10Flying.a(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
Died and got this..
java.util.regex.PatternSyntaxException: Illegal character range near index 16
รยง8[BlackKingdom-CoOwner] ScottSpittleรยงf
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.range(Unknown Source)
at java.util.regex.Pattern.clazz(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.matches(Unknown Source)
at java.lang.String.matches(Unknown Source)
at org.simiancage.DeathTpPlus.listeners.DTPEntityListener.writeToLog(DTPEntityListener.java:827)
at org.simiancage.DeathTpPlus.listeners.DTPEntityListener.onEntityDeath(DTPEntityListener.java:183)
at org.bukkit.plugin.java.JavaPluginLoader$64.execute(JavaPluginLoader.java:707)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:303)
at net.minecraft.server.EntityPlayer.die(EntityPlayer.java:160)
at net.minecraft.server.EntityLiving.damageEntity(EntityLiving.java:469)
at net.minecraft.server.EntityHuman.damageEntity(EntityHuman.java:584)
at net.minecraft.server.EntityPlayer.damageEntity(EntityPlayer.java:202)
at net.minecraft.server.Entity.aa(Entity.java:271)
at net.minecraft.server.EntityLiving.aa(EntityLiving.java:124)
at net.minecraft.server.Entity.s_(Entity.java:192)
at net.minecraft.server.EntityLiving.s_(EntityLiving.java:268)
at net.minecraft.server.EntityHuman.s_(EntityHuman.java:153)
at net.minecraft.server.EntityPlayer.b(EntityPlayer.java:215)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:305)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:615)
at net.minecraft.server.Packet10Flying.a(SourceFile:126)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
@DonRedhorse
Thanks for the quick reply.
I didn't notice anything about this in the write up, and didn't check permissions until after I installed the plugin and noticed this! I think this is a great feature and am pleased to see it is in here.
I'm having issues with the plugin that interfere with essentials commands such as /kill playername, /suicide, and when someone uses a nick name witha preface. If I use a nickname preface, death chests are not created for these players and errors are thrown. See ticket here.
@jaketoolson
Hi,
thats already in.. If you don't give the player the permission of freechest and freesign they need a chest and a sign.
Isn't that working?
Is it possible to create the ability to require a player to carry a chest and sign in order to even have a death chest placed? This was a great feature Drakia created in his TombStone plugin (before he was banned)...
Thank you for including LWC support in the plugin! I also love the ability to find a player's tombstone!
@GameFreakDude
hmm.. nice idea.. could you open a ticket for that.. I'm busy at a different plugin atm so I don't forget..
Works great! Only suggestion would be to let %i display the material the player suffocated in with the suffocation event.
@DonRedhorse
ah ok will be using this
@LordKainzo
Are you using any kind of chat plugin? Could you use the Ticket system please?