DeathPenalty
Death
Quote:Yeah, yeah I died. I'll just respawn. What is this? I can't do anything!?
Death can be extremely boring. Why not make your players become ghosts when they die? This can also be a better solution for hardcore servers, instead of them being banned for a number of hours. You can still ban them if they die too much with this plugin.
Being a ghost
When a player dies, they either teleport to a location defined by somebody who can change the spawn or to their spawn. They're now a ghost for a predefined time. A ghost can't do much. All he or she can really do is chat to other ghosts or people that have the deathpenalty.hearghosts permission.
Ghosts can't
- Break blocks
- Damage players and mobs
- Be seen by non-ghosts
- Execute commands
- Open chests and doors, use brewing stands and enchanting tables, etc
- Die
- Take damage
Credit for the idea goes to xeNium on the forums!
Permissions
There aren't many permissions, but they work with PermissionsEx, PermissionsBukkit and probably other permissions plugins.
Permission | Description |
---|---|
deathpenalty.hearghosts | Allows or disallows the player to listen to ghosts speak when he or she is not a ghost |
deathpenalty.changespawn | Allows or disallows the player from changing the spawn for ghosts |
deathpenalty.ignore | Makes a player not become a ghost when they die if this is true |
deathpenalty.resurrect | Allows a player to resurrect other players (admins do not get this by default) |
deathpenalty.see | Allows a player to see ghosts when not a ghost; Operators get this by default |
deathpenalty.add | Allows a player to add lives for other players |
Configuration
Value | Description |
---|---|
ghostTime | How long a player will be a ghost for (in seconds) when they die |
usePermissions | Whether or not to use permissions. If this is false, only admins can change the spawn and hear other ghosts. |
cakeAmount | The amount to reduce a ghost's time when a player eats cake (they may only do this once when they're a ghost). If this value is 0, it will not heal any. |
disablePortals | Enable or disable a ghost from using end and nether portals |
ghostsFly | Makes players able to fly when they are in ghost form. This switches the game mode to creative, but they can not keep the items when they are made a normal player again. |
lives | Number of lives a player has before they become a ghost again |
maxGhostTimes | Number of times a player may become a ghost before they are banned (doesn't do anything unless banOnGhostLifeDepletion is enabled); Set this to 0 if you don't want to use the banning system. |
banTime | How long (in seconds) a player is banned when their ghost times are depleted and banOnGhostLifeDepletion is enabled |
permaGhost | Whether or not ghosts are permanently ghosts |
Commands
- dp setghostspawn
- Sets the spawning location for players when they die and become ghosts. This command may be executed only by a player.
- dp setafterghostspawn
- Sets the spawning location for a ghost when he or she is made a normal player again. This may be executed only by a player.
- dp resurrect <player>
- Resurrects the player if he or she is a ghost. The executor must have the permission or be the console. Operators (admins) don't get this by default. This can be executed from the console, however.
- dp unban <player>
- Unbans a player if they are banned due to depleting their ghost times. This may be run from only the console.
- dp addlife <player>
- Adds life to a player (does not increase past the maximum set in the configuration); The permission node deathpenalty.add is required to run this command. Otherwise, it can be run from the console.
- dp fixghosts
- Forces ghosts to become hidden. This is best used for when you reload permissions and you changed a player's deathpenalty.see permission and reload. If you use the server reload command, you don't need to use this.
- dp reload
- Reloads the configuration from the file.
- timeleft
- Shows a ghost how much time they have before resurrection. If a player is not a ghost, nothing will appear.
Todo
Add a feature so that when a ghost eats cake, their incorporeal time is decreased.Add a feature to allow ghosts to fly but still not do anythingFix an issue where ghosts are not hidden from playersHave a certain number of lives before you become a ghost.Add a ghost lives system where if you become a ghost too many times, you become banned for a certain period of time.- Have separate permissions for ghosts
@Thokas
- A "revive" spawn point. So when their time is up, they will be teleported to a separate spawn point. That way I can properly banish players to the a separate hell world to explore, then when their time is up they can return to the main overworld. (As I said before, You do not need this, you just need to type /dp setghostspawn in a nether and configure those config.yml "ghostTime, disablePortals,userPermissions except the cakeAmount" Thats all, they will automaticly re-spawned to the main overworld.)
- A command to check how much longer they have to be dead. (Oh crap, I forgot to suggest this, bytheway nice suggestion you beat me)
- A way to disable the use of commands. IE so my players can't just use /f home and escape the death world. (This plugins already add this features before you suggest it :D)
- Make ghosts invisible to alive players. I won't need this per se for my setup. But I think it would be a nifty feature. (Of course, they cannot be seen by alive players I already test it. This features already exist when the first release uploaded, Yesterday I test it using the source code, If this features does not exist I am sorry, If you want to add it you does not need spoutcraft to do it just use the invisible potion :D)
- Custom skins / models for dead players. Maybe make players appear as zombies. Or at least a ghostly steve skin. (This need spoutcraft, some server are using offline-mode=true So If offline-mode=true meaning mostly the premium player vs the cracked player = 1 : 8, and because spoutcraft need our premium account so we cannot use this features to the server that makes their server offline-mode=true, but whatever as I said before better VeryBigCorp make a toggle that can active/deactive some features in deathpenalty plugins)
@VeryBigCorp Very awesome! I love it when a plugin developer isn't afraid to make something new and fun. We'll start using the plugin with your 1.3 release. I'm looking forward to it!
Another suggestion, the ability to add "lives" to the player. IE a player has 3 lives, and once they are used up, then he is made a ghost and must wait awhile. With a command to add them on the fly as well.
Thanks again, I look forward to 1.3!
@Thokas
Thanks for taking interest in my plugins :) I'm going to try add as much as possible. xeNium came up with a great idea, but I think it should be further elaborated upon. Let me answer some of your questions.
@The errors: those should be fixed if you just set dbVersion to 1 in the config. It's supposed to do that on its own, but 1.2 doesn't do it properly. I fixed it in 1.3.
Thanks for the update VeryBigCorp! I really appreciate the work you have done so far. You should add a donation link!
I attempted to set this up on my test server last night. Before I switch it over to my live server. I do get this error on a fresh CB 1.2.3-R0.1 & CB 1.2.3-R0.2 as well as the latest dev build of CPP. Also, wanted to know if the console can execute the resurrect command? IE So buycraft could resurrect players automatically. And lastly a couple of other feature suggestions.
2012-03-15 02:32:24 [INFO] [DeathPenalty] Enabling DeathPenalty v1.2 2012-03-15 02:32:24 [INFO] [DeathPenalty] error in the sql: duplicate column name: hasEaten 2012-03-15 02:32:24 [SEVERE] Error occurred while enabling DeathPenalty v1.2 (Is it up to date?) java.lang.NullPointerException at com.verybigcorp.deathpenalty.DeathPenalty.onEnable(DeathPenalty.java:114) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:215) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:336) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:365) at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:342) at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:324) at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:422) at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:409) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:223) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:477) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490)
Also, if I try to use the setghostspawn command
2012-03-15 02:47:01 [SEVERE] null org.bukkit.command.CommandException: Unhandled exception executing command 'dp' in plugin DeathPenalty v1.2 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:42) at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:166) at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:461) at net.minecraft.server.NetServerHandler.handleCommand(NetServerHandler.java:818) at net.minecraft.server.NetServerHandler.chat(NetServerHandler.java:778) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:761) at net.minecraft.server.Packet3Chat.handle(Packet3Chat.java:33) at net.minecraft.server.NetworkManager.b(NetworkManager.java:229) at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:112) at net.minecraft.server.NetworkListenThread.a(NetworkListenThread.java:78) at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:554) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:452) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.NullPointerException at com.verybigcorp.deathpenalty.DeathPenalty.onCommand(DeathPenalty.java:145) at org.bukkit.command.PluginCommand.execute(PluginCommand.java:40) ... 12 more
@xeNiums
Well that's just your opinion man. My server is very active as is, and tons of players love the hardcore style. I don't see the harm in having this awesome plugin be in a flexible state that anyone can use it for however they want it. You are asking the creator to be closed minded and streamline it for a very specific thing, when it has a lot of potential in the hardcore server community. And he doesn't have to change it to the point where it breaks your original vision.
@VeryBigCorp
If you are unable to add the command revive feature, is there anyway you could PM me the source so that I can take a stab at it? I won't redistribute it and I'll only use it privately. I really love how it works and I want to add it to my live hardcore server. =D
@Thoaks
Unfortunately there is already deathpenalty.ignore (But I think I was suggest VeryBigCorp to add deathpenalty.ignoreOverride permissions but whatever it his plugins but the function is same so It not a big problem :D) So you do not need any ressurect command anymore. And byetheway please do not suggest that will change how the plugins works because It will cause other server that use this plugins because restricted because of your style, this style I think can be practically the general style, Everyone can fit this plugins on their server without thinking they will love it. And they better not spawned in nether because we already have teleport that will teleport them to somewhere it can be nether or anything else (You asking to spawn them in nether meaning you want they only can spawn in nether, it will restrict other server style). And kicking them from the server is fucking (Sorry) bad ideas dude, they will get bored and trying to join another server, just let them have fun with their ghost status and walking around without worry the hostile mob and seeing someone stuff that have been made by other player. And byetheway they will ressurect faster If they eat a cake (In my server, I will spawn a cake on some room where the ghost will spawn, every x minutes the cakes will be reset or a.k.a replaced by the new cake)
@VeryBigCorp
Oh, I forgot to suggest this to you VeryBigCorp, make the cakes can spawn every x minutes (How we can use this features? First type /dp setcakespawn number, then the server will give us a cake and we must place the cake somewhere we want make the cake every x minutes to replace the cake)
/dp setcakespawn number (number is like 1, 2, 3, and 4 ... a.k.a Infinity)
@VeryBigCorp
Man, this plugin is looking really good. I'm still missing a resurrect command so it would be perfect for my setup. I really appreciate your SpawnerEXP plugin, and can't wait to incorporate this one into my server. :)
@xeNiums
I understand you have problems with admins cheating. A resurrect command could be blocked from admins with a permission node though. Also, you should never have "untrusted" admins. =P The reason I need this for my particular server setup is I allow donations for resurrections. Without a command I can't get this to work at all. What I'd like to do is ether wait out your sentence dead in the nether, or buy a revive and return to the world. Players could still chat and such in the nether, buts that's about it. A purgatory if you will. I think it would be a much nicer alternative to the current "You died, you are now banned for 12 hours, check back later" that my server is using. I think this plugin has a lot of potential and I could really work for my setup. I just need a command to revive at this point. :)
@tremor77
Weird. Does it say "Ghost spawn location set." and not teleport them there, or is it not showing the message?
Edit: Just realized what may be the problem. I fixed it, and hopefully it should work in v1.1 :D If not, then it's probably a conflict D:
dp setghostspawn is not doing anything for me.. could there be conflict between this and homespawnplus plugin?
Thokas, better you ask VeryBigCorp privately because It seem those features only fit with your server style likes this (Could you add some features? Is there a command to "resurrect" a player to a spawn point?, I do not want people cheating mostly untrusted admins are doing that for his/her friends but for others the admins do not want to do that for them, that not fair dude, bytheway in my suggestions there is ignoreOverride permissions you can check it on my suggestions thread) but others feature are okay. You can see my suggestion here (http://forums.bukkit.org/threads/height-limiter-and-death-penalty.63980/). But looks like banish ghost from going to nether or the end is not a good suggestions, there is no reason they must go to nether or the end when they die because they cannot do anything and bytheway when the resurrect the player will be spawned on spawn point, that will be cool right?.
I want to use this as a replacement for my hardcore plugin. Could you add some features? Is there a command to "resurrect" a player to a spawn point? Also, an ability to add lives would be wonderful. Block netherportal access(if it doesn't already). And a permission to make a player exempt from the ghost death.
I just need the command to start using it. I want to banish dead players to the nether or the end. I'm really excited about this plugin. =D