BodyHealth⚡Locational Health & Damage for Minecraft⚡Free & Open-Source icon

BodyHealth⚡Locational Health & Damage for Minecraft⚡Free & Open-Source -----

Simulate health per body part | highly customizable | scriptable effects | raytracing | API & Addons




All messages (except debug messages) can now use MiniMessage formatting in addition to legacy color/formatting codes like &c (red). Some things like coloring the shadow of your text isn't possible in Minecraft, as this is handled client side, but you can now use all 16.7M colors in the RGB spectrum, add hover text to your messages, execute commands when someone clicks them and much more!
[​IMG]
Messages sent to players may now also contain PAPI placeholders to show your players additional information like.... the current date and time for example (hover text):
[​IMG]
BodyHealth's default messages are still formatted using legacy codes due to them being much shorter.
----------, Mar 20, 2025

- Added SQLite storage type (new default)
- Added MySQL storage type for multi server environments
- Improved data handling to only load data needed at a given time, unloading and saving data for players when they disconnect, etc.

With SQLite being the new default storage method, loading times should no longer scale with the number of players of which data is stored that much, resulting in loading times hundreds if not thousands of times faster than before, depending on how many entries there are in your YAML storage. Speaking of which, it is still available to use, as it's way more readable and therefore great for debugging.

You can find storage settings in a new config section between the raytracing- and body-health settings within config.yml :)
----------, Mar 13, 2025

- Reorganized BodyHealth's config internally
- Fixed players with bypass permissions bypassing forced health changes
- HUD is now also shown to players in adventure mode
- Better handling and logging of regeneration caused by external plugins

Also, a little update on the development of an internal display system: It's technically working already, but there's two issues preventing me from releasing it yet. The first issue is that there is currently no version unspecific approach to displaying a HUD on a fixed height of your screen without breaking vanilla features, because there is no way to check on what BossBar line the HUD is displayed with just Spigot's API. Displaying it on the first line causes all other, normally shown, BossBars to start at line 2. I have worked out three solutions to this problem, each with a little downside, but enough of this, there's another issue to cover: Minecraft, by default, only allows me to move HUD elements left/right/up/down by a set number of pixels, not proportionally to the size of the screen showing it. This can easily lead to the HUD being displayed in the middle of your screen or outside, just by switching between FHD/WQHD/UHD, not to mention resizing the game window. This can be corrected by altering shader files, but, you guessed it, that's version specific again... There might be better ways to do this with PaperMC and with them hard forking Spigot, there's a good chance that more useful stuff will be implemented in the months/years to come, so for now, I've set that code aside and, as releasing it now would cause issues you don't want to deal with. Let's see what the future holds...
----------, Mar 12, 2025

I think found a version independent approach for an internal display system without HUD plugins, so that's what I'm currently working on (it's already kinda working, but there's still a lot of code cleanup to do and some decisions to make, so it could take a bit for it to be released here)

Of course you'll be able to decide what you want to use with BetterHud still being the more viable option. MythicHud is really confusing, closed source without API documentation and it doesn't have as many Features as BetterHud, so MythicHud compatibility is no longer high on my to-do list. Instead, I'm working with the author of RealisticSurvival to establish an integration that doesn't require any extra pack on servers using it.

Anyway, to prepare for all of this, assembled resource packs now have their own output folder and the existing packaging process of BetterHud's assets to a usable resource pack has been updated to:
...fully support all versions from 1.21 upwards (no more red highlighted, outdated packs)
...make it a little more presentable by reworking the pack's description and adding sort of a gradient
...allow customizing the filenames of generated resource packs
----------, Jan 29, 2025

This update introduces a new config option at `display.betterhud.fix-height` (true/false) that attempts to fix an issue with BodyHealth's HUD being pushed down by other HUDs when activated. Do **NOT** activate this setting unless this happens to you.
----------, Jan 18, 2025

----------, Jan 17, 2025

Previous behavior:
Fully heal players 3 ticks after respawning if the system is enabled where they respawn.

Revised behavior (now):
Fully heal players body parts 1 tick after respawning regardless of the system being enabled at their respawn point
----------, Jan 17, 2025

Fixed an issue with said compatibility leading to players being healed despite the command not even being registered by any plugin.
Players are now only healed based on their increase in health, still supporting "/heal <player>"
----------, Jan 16, 2025

After changing this effect from SEND_MESSAGE to just MESSAGE by accident, then pushing a fix for it that somehow didn't end up in any release and ultimately deciding to leave it at MESSAGE, we somehow ended up in a state where the default config generates a SEND_MESSAGE effect whilst the effect engine only knows MESSAGE....

This update therefore adjusts the default configuration and the effect explanation to say MESSAGE instead of SEND_MESSAGE to finally end the confusion

IF YOU CURRENTLY USE THE MESSAGE/SEND_MESSAGE EFFECT, MAKE SURE IT SAYS "MESSAGE"
----------, Jan 16, 2025

This update ensures that BodyHealth's PlaceholderAPI placeholders continue functioning after PlaceholderAPI is reloaded
----------, Jan 7, 2025

Not exactly sure what combination of events triggered this, but in rare cases, an invalid PlayerInteractEvent was fired on my testserver. This isn't caused by BodyHealth, but it did affect this plugin, leading to some errors. If that should ever happen to you, this version of BodyHealth ensures it is unaffected by it.
----------, Dec 29, 2024

This update lowers the default interval between repeated update checks to check once every 12 hours instead of hourly. It also adds a new config option for you to specify this interval yourself, as some servers restart twice a day and some weekly or less.
----------, Dec 29, 2024

  • Fixed POTION_EFFECT effect not correctly parsing the potion effect's amplifier from your effect configuration and defaulting to 256 instead of 1. Please report stuff like this if you notice something is wrong. I won't hunt you down for invalid reports, I promise

  • (Internal) BodyHealthEffects.java is now split up into an EffectHandler and a unique effect class per effect, implements a new BodyHealthEffect interface. This change aims to make the code more readable and to make it easier for future addons to add their own effects.

  • Some code cleanup here and there to reach that A+ code quality on CodeFactor
----------, Dec 27, 2024

  • Fixed typo in language reader leading to an error when executing "/bodyhealth add [...]" on a single body part (command even works with exception, but pls update anyway)

  • Corrected Japanese language translation [Corrections submitted by jekyllh (Discord)]
----------, Dec 15, 2024

  • 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] <value>) for you to be able to modify health values relatively.

  • 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.

  • 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").

  • 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.

  • Moved language file generation and validation messages from normal- to dev-debug mode.
----------, Dec 14, 2024

  • Fixed an issue with BodyHealth's DataManager that could lead to data not being correctly loaded for offline players
----------, Nov 24, 2024

  • 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.
----------, Nov 22, 2024

  • Fixed COMMAND_UNDO effect sometimes leading to effects not being removed properly on shutdown
  • Fixed potential double reloads of BetterHud under certain conditions - should only reload once, after adding/validating the display's content
  • Some small internal changes
----------, Nov 20, 2024

+ 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.
+ 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`.
+ 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.
----------, Oct 30, 2024

Added an API to allow 3rd party plugins (yours? :p) to directly hook into BodyHealth without having to abuse commands that much:
https://github.com/Mitality/BodyHealth/wiki/API

Furthermore, numbers in debug messages are now also limited to two decimal places to fight console spam :)
----------, Oct 29, 2024

- 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
- 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"
- When no player is provided for the heal command, now, the player who executed the command is healed
----------, Oct 27, 2024

+ Fixes an exception on join for servers that don't use WorldGuard
----------, Oct 8, 2024

+ Fixed an issue where overloaded servers would continuously reload BetterHud due to insufficient timings
----------, Oct 6, 2024

+ Added a world blacklist that can be turned into a whitelist to disable- or only enable body health in specific worlds.
+ 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
+ Rewrote the KILL_PLAYER effect, to (hopefully) no longer cause double deaths
----------, Oct 6, 2024

+ Fixed an issue with asynchronous pack loading of BetterHud causing the BetterHud integration to initially fail on startup
+ Added additional information regarding ItemsAdder in config.yml and highlighted the fact that, by default, the in-game display is shown to players in survival mode only
----------, Oct 6, 2024

+ Metrics to enhance the plugins development in the future
+ Numbers in command responses are now limited to 2 decimal places
+ Some internal changes and adjustments
----------, Oct 4, 2024

Visual updates to the in-game display and the resource(pack) icon
----------, Oct 3, 2024

+ Added an update checker to notify administrators when a new update is available
----------, Oct 2, 2024

+ Added a language file to make all plugin messages fully configurable
----------, Oct 2, 2024

Resource Information
Author:
----------
Total Downloads: 2,536
First Release: Oct 2, 2024
Last Update: Mar 20, 2025
Category: ---------------
All-Time Rating:
14 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings