This project has been superceded by CompleteDeaths2.
What is Complete Deaths?
Complete deaths is a Bukkit plugin designed to allow server-admins to completely customize death messages on your server.
It's intent is to provide a lightweight frame and basic implementation to allow you to write your own death messages, or simply use a pre-built list of them to replace the existing ones.
If it proves popular enough, I want to take your suggestions to add features that I feel would allow greater customisation and control. After all, it's your server!
Current Features (v1.5.1 - Bukkit 1.8.* builds):
- Use Display Names instead of usernames Think Essentials /nick
- Multiple messages per death type. No longer will it give the exact same message over and over
- User-customiseable messages, or use a pre-built set (based on my dry humor, ha) - Write your own messages
- Color-code support (Use the & symbol)
- Make messages specific to any player, killer, mob type, mob name, weapon name, or any combination!
- Basic API for other mods
- Minecraft 1.7.10 support
- Limit death messages to a radius
- Mute death messages, specific players, specific worlds, or specific categories
- Deafen players, or worlds - stopping them from receiving death messages
- Set death messages to act per-world only
- /deaths command contains most of the above features
Currently Planned Features:
How to Use
Throw CompleteDeaths in the plugins folder and run the server. It will automatically start handling your death messages, replacing them with ones from my pre-built list. You can add/remove/change any messages by editing the messages.yml file.
drowned: Messages: - "<player> drowned" gotfinishedoffbyentity: Messages: - "<player> got finished off by <enemy>" gotfinishedoffbyzombie: Messages: - "A Zombie devoured <player>'s brains" gotfinishedoffbyentityusingweapon: Messages: - "<player> got finished off by <enemy> using <weapon>" gotfinishedoffbyzombieusingexcalibur: Messages: - "Zombie Arthur stabbed <player> to death." wasslainbytslat: Messages: - "<player> was absolutely wrecked by some cool guy." wasslainbyplayer: Messages: - "<enemy> was destroyed by <player>."
The Messages are the exact default messages, except without spaces, and removing the player name. Make special messages for specific players or entities, or even specific enemies wielding a particular weapon. It's really up to you!
UseDisplayNames: Set this to true to make all death messages replace the players' names with their ingame display names
UseCaratForColor: Set this to true if you need to use an ampersand (&) in one of the messages, it will look for ^ symbols to identify colors instead
Debug: Set this to true to output a little more information with each death. This is handy for bug reports, or if you want to know which message you're missing
CollectMissingMessages: Set this to true so the plugin will remember each message that happens ingame which you haven't defined. Use with /deaths list to display them ingame
WhitelistMode: Set this to true, and any messages which your config file doesn't have won't show up ingame, useful for showing specific death message categories
RadiusValue: Set this to anything higher than 0, and any player that isn't within that many blocks of the dying player won't even know he died
WorldRestricted: Set this to true to make all death messages only show to other players in your world
Use these in your messages and the plugin will replace them in the output
<player> - the player that died
<enemy> - the enemy that did the killing
<weapon> - the name of the weapon that was used to kill
<health> - the amount of health the entity has remaining when killing the player
The plugin runs entirely off the /deaths command. Simply typing /deaths will give you information on the plugin, as well as the available sub-commands.
Current sub-commands are:
/deaths help - List information about other sub commands
/deaths reload - reload the death messages from the configuration
/deaths list - If CollectMissedMessages was set to true in the config, this will list out death message categories not matched since last restart.
/deaths enable - If the plugin was disabled previously, this re-enables it.
/deaths disable - Disables the features of this plugin
/deaths muteplayer - Mute a player's death messages
/deaths unmuteplayer - Unmute a player's death messages
/deaths muteworld - Mute a world's death messages
/deaths unmuteworld - Unmute a world's death messages
/deaths hideplayer - Prevent a player from receiving death messages
/deaths unhideplayer - Allow a player to receive death messages again
/deaths hideworld - Stop players in a world from receiving death messages
/deaths unhideworld - Allow players in a world to receive death messages again
boolean isDisabled() //Returns whether CompleteDeaths is changing death messages or not// boolean isMuted() //Returns whether the plugin is muting messages or not// void setDisplayNamesUsed(boolean) //Toggle whether CompleteDeaths uses display names or not until next restart// void setMute(boolean) //Toggle global muting of death messages// void setPlayerMute(String player, boolean) //Mute or Unmute a player's death messages// void setWorldMute(String world, boolean) //Mute or Unmute death messages in individual worlds void toggleCustomMessages(boolean) //Enable or Disable the plugin//
Feedback is very much appreciated!