Improved Rewrote all existing commands to make arguments optional where possible. You can find the updated command syntax at the top of your config.yml instead of the old one.
[Requested by Jekyll] Added a new command (/bodyhealth add [player] [body part] ) for you to be able to modify health values relatively.
Improved Rewrote all TAB completions to make them truly intelligent, suggesting command syntax and possible inputs not only based on your position within the command, but also by analysing your partial inputs and comparing them to possible command completions
Added Health values in commands are now taken as raw health values per default, meaning they are calculated into the corresponding percentages, taking your configuration per body part into account, but you can still modify health values directly in percent by appending a '%' sign to your value. The new TAB completions make sure you don't forget that option
Added support for popular vanish plugins like PremiumVanish and SuperVanish, excluding vanished players from TAB completions.
Added a new config option for you to choose if you also want to force-keep body parts at their new state for the set amount of seconds, that have been modified relatively (Good for excluding health related items, so it's default is "false").
Improved All language files have been updated to not only include the new command, but also a new format, containing definitions for body part names, to make smoother command responses possible. All natively supported languages are updated automatically, but if you made your own language configuration, you have to update it to the new format.
Changed Moved language file generation and validation messages from normal- to dev-debug mode.
Improved Rewrote the language system to support multiple built-in languages.
Added the top 30 languages (according to crowdin) as built-in languages, those being
- Afrikaans
- Arabic
- Catalan
- Chinese (simplified)
- Chinese (traditional)
- Czech
- Danish
- Dutch
- English (as before, but filename changed to en.yml)
- Finnish
- French
- German
- Greek
- Hebrew
- Hungarian
- Italian
- Japanese
- Korean
- Norwegian
- Polish
- Portuguese
- Portuguese (Brazilian)
- Romanian
- Russian
- Serbian (Cyrillic)
- Spanish
- Swedish
- Turkish
- Ukrainian
- Vietnamese
I only speak English and German fluently, so the other languages have been translated by an AI. If you happen to speak one of them and you notice mistakes, feel free to reach out to me. You may also send me language configurations that aren't natively supported yet so I can change that for you :)
Improved the effects system to only (re)calculate effects when necessary.
Changed Commands are now handled by a CommandManager. This was done to deal with subcommands as individual classes, to enable addons to add their own.
Added an addon system to extend the functionality of BodyHealth without relying on third-party plugins. In the future, new features may be published as addons, allowing you to choose which functionalities you want to include, optimizing server space and CPU usage. You may also write and publish your own addons. Here's a guide for doing so: https://github.com/Mitality/BodyHealth/wiki/Addons If you happen to write a cool addon, let me know and I'll feature it somewhere.
Changed Data is now stored within a data folder, instead of directly within the plugin folder. To still use your current data file, move it to plugins/BodyHealth/data and name it bodyhealth.yml.
Added A new language option will automatically be added to your config.yml which stays where it is now. It allows you to chose a language from a new language folder at plugins/BodyHealth/language to allow native support for more languages in the future. To keep your current language configuration, move it to plugins/BodyHealth/language and either name it en-us.yml, or set the language option in your config.yml to the name of your language file without the .yml
.
Feel free to add your own translations and submit them to me to be added natively.
Added an API
Improved numbers in debug messages to now also be limited to two decimal places
Improved compatibility with other plugins by respecting their handling of damage events more
Added a new config option to force-keep body parts that have been modified by a command at their new state to avoid immediate regeneration when the player has full health and to avoid potential issues with the effects system's timings in such cases
Improved The body parts suggested when using commands are now filtered to show only relevant parts. For example, after typing "/bh set testplayer h" it will only suggest "HEAD"
Improved When no player is provided for the heal command, now, the player who executed the command is healed
Added a world blacklist that can be turned into a whitelist to disable- or only enable body health in specific worlds.
Added a WorldGuard hook: BodyHealth can now hook into WorldGuard and register a flag called 'bodyhealth' to enable/disable body health in specific regions.
Added bypass permissions to control damage and regeneration per player and body part
Fixed the KILL_PLAYER effect, to (hopefully) no longer cause double deaths