ADDITIONS
- Extended compatibility for Attrition to Minecraft 1.21.5 (pack format 71) !
- Extended compatibility for HeartFade to Minecraft 1.21.5 (pack format 55) !
- Added a new "Welcome to Attrition" message that displays once per player when they first join a world with Attrition.
- Added a new "About Attrition" message that is accessed via a new /trigger command. The hover text retrieves the value of and explains every parameter of the data pack (floor/ceilling/increments/cooldown/etc.).
- Added a NEW MECHANIC: health gain cooldown. It's very simple: after you eat an enchanted golden apple, you have to wait a certain amount of time (5 hours by default) before eating another one will also give you max health. This is the new balancing mechanic for Attrition; the previous dynamic chance algorithm has been removed.
- Added a new ambient sound event that plays whenever a player is holding an enchanted golden apple that would grant max health when eaten.
CHANGES
Options menu
- The options menu has been completely overhauled for version 3.0.0. A number of options have been removed – Test Attrition (it's just a /give command); Toggle divine wrath (gimmicky and out of place); Toggle fixed text/flavor text/event sounds (accessible with /trigger, so redundant); Toggle health recoup, Reset player, Exclude player (all redundant with update); Customize health gain chance/health gain chance increment (mechanic removed in 3.0.0).
- The so-called "advanced options menu" has been deleted entirely. Some of its settings (Customize health floor, Customize health ceiling, Customize health gain increment, and Customize health loss increment) can now be found in the main options menu and work pretty much as they did before.
- A new options menu setting (Customize health gain cooldown) has been added to control the new health gain cooldown mechanic. Use it to define the health gain cooldown in ticks.
- A powerful new options menu setting, manage player health, has been added; it can be used to set any player's max health to any desired amount! This will automatically revive permanently dead players (like the old Reset player option did). Alternatively, you can "set" a player's max health to 0 in order to prevent them from gaining or losing max health (like the old Exclude player option did).
- Toggle indicators, horizontal divider lines, and hover texts now all display without text shadows for contrast and legibility purposes
- The hover text for the option menu header (the line that says "Options menu") has been simplified and unified
- The hover texts for toggle indicators now also display their setting's name as the first line
- Added an Arguments field to the hover text of some settings in an attempt to clarify what each one does and how to use it
- So-called "click lines" (hover text lines that describe what happens when that text is clicked) are now all displayed in bold
Sounds
- All sound events (including the new ambient one) now consist of exactly two vanilla Minecraft sounds, but with altered pitch and volume
- Being shielded from losing the last of your max health no longer counts as a sound event
- The /trigger command for toggling sounds now includes the word "toggle" for clarification
Fixed text
- Fixed texts have been reworked for consistency and are now better described as Announcements
- Announcements can no longer be toggled off with a /trigger command
- Announcements now all begin with a blue <Attrition 3.0.0> tag
- Announcements now all have hover text that describes the event they announced in greater detail
Flavor text
- Flavor text now only displays in exactly two situations: when health is gained, and when health is lost. Any other flavor texts (i.e., for losing all max health or failing to gain max health from eating an enchanted golden apple) have either been removed or repurposed.
- Flavor text is now intelligent; that is, the "intensity" of the flavor text displayed to a player no longer depends on hard-coded health score ranges, but instead on a calculation of how far the player is from the health floor relative to the health ceiling. This works even if the health floor and/or the health ceiling have been adjusted to custom values.
- The /trigger command for toggling flavor text now includes the word "toggle" for clarification
- Some flavor text lines have been edited or rewritten
Internal
- Updated the data pack in accordance with the new text component format changes from 1.21.5
- Made the naming of various /data storage components more consistent
FIXES
- Fixed an issue where one of the flavor texts for health loss was present in the selection pool twice
- Fixed an issue where the Uninstall Attrition option did not remove anything related to the /data command
ADDITIONS
- Extended compatibility for Attrition to Minecraft 1.21.4 (pack format 61) !
- Extended compatibility for HeartFade to Minecraft 1.21.4 (pack format 46) !
FIXES
- Fixed an issue where I forgot to update internal references to the pack's version number, which broke the uninstall feature.
ADDITIONS
- Attrition is now compatible with Minecraft 1.21.2 (pack format 57) !
- The HeartFade resource pack is now compatible with Minecraft 1.21.2 (pack format 42) !
- The HeartFade resource pack has a new texture for the empty air bubble icon. Compared to the vanilla one, it is darker overall and slightly more textured.
CHANGES
- Removed the deprecated attribute ID prefix 'generic.'
CHANGES
- Added some checks for Contrition flavor text in the health loss section
- Removed some unused lines of code
FIXES
- The info tooltip for the Customize Health Gain Chance option (advanced options menu) now correctly states that the option's effects can be either global or individual depending on usage
ADDITIONS
- The tooltips for each option in the Options Menu (also the advanced options menu) now include the name of the option as the first line of the tooltip. Hopefully this makes things more readable
- You can now directly edit health gain chance from the advanced options menu. You can do a couple of different things with this, including making enchanted golden apples always grant max health. Read the option tooltip for more detailed info
CHANGES
- The Test Attrition option no longer changes any gamerules; it also no longer displays flavor text
- The confirmation messages for Reset Player and Exclude player now display above the player's action bar instead of the chat box
- The logic behind flavor texts has been completely rewritten to rely more on the magic of function macros! No gameplay changes, just makes things slightly more efficient
- The logic behind health gain has also been rewritten to remove a bunch of confusing redundancies and bloat. No gameplay changes here either, only better efficiency!
FIXES
- Fixed some flavor texts not respecting players' personal Flavor Text toggles
ADDITIONS
- Attrition is now compatible with Minecraft 1.21 (pack format 48) !
- Attrition is now compatible only with Minecraft 1.21 pre-1 or above (pack format 46)
- Extended compatibility for HeartFade to Minecraft 1.21 (pack format 34)
CHANGES
- The Reset Player option can no longer be directly accessed from the options menu. The advanced options menu has been moved in its place for better visibility. For its part, the Reset Player option is now in the advanced options menu
- Certain directories (folders) in the data pack have had their names changed in accordance with snapshot 24w21a. This should have no effect on gameplay
- Some parts of the data pack have been deleted as redundant due to the wonderful new fixes for MC-16345, MC-179940, and MC-181604! These should have no effect on gameplay, either
ADDITIONS
- Extended compatibility for Attrition to snapshot 24w20a (pack format 44)
- Added a new customizable feature: the health floor, which is exactly what it sounds like. You can find it in the advanced options menu. It accepts arguments in health points, where the number entered becomes the lowest amount of health a player can have and still be considered alive.
- Added new flavor texts to certain in-game events.
CHANGES
- The confirmation messages for individual toggles (for Attrition, that's Fixed Text, Flavor Text, and Event Sounds) now briefly display above the player's action bar instead of cluttering up the chat box.
- The health score ranges at which flavor texts for dying or for eating an enchanted golden apple can be shown have been updated to reflect the new default max health cap.
- A number of assorted flavor texts have been updated; for example, the one that lists all the places a player can obtain enchanted golden apples now mentions the new Trial Chambers.
FIXES
- Fixed an issue where eating enchanted golden apples past the max health cap would still affect the player's health gain chance
- Fixed an issue where eating enchanted golden apples past the max health cap wouldn't always display the correct fixed or flavor texts
- Fixed an issue where Attrition didn't correctly enforce the upper or lower bounds of players' health gain chance
- Fixed an issue where the flavor texts for dying or for eating an enchanted golden apple wouldn't trigger if the player was on certain half-heart increments of health
This long-overdue update brings you compatibility with the latest Minecraft versions as well as a massive change to the health gain system.
ADDITIONS
- Attrition is now compatible only with Minecraft 1.20.5 or above (pack format 41)
- Extended compatibility for Attrition to snapshot 24w18a (pack format 42)
- Extended compatibility for Heartfade to snapshot 24w18a (pack format 33)
- Added a pack ID (mp.attr) in accordance with the Smithed conventions
CHANGES
- The maximum health cap has been reverted to 20 hearts, or 40 health points.
- Enchanted golden apples no longer guarantee that the consumer will gain an extra heart of maximum health. It is instead now determined by an special algorithm that dynamically adjusts the probability of gaining an extra heart; the probability starts off at 100% and eventually settles at around 50%.
TECHNICAL IMPROVEMENTS This version is the first that is only available for Minecraft 1.20.2 and above. This has given me extra freedom to experiment with a bunch of command wizardry newly added by Mojang. Chief among them are function macros, which are easily the best thing to have happened to data pack writing since I began developing them in 2020. I rebuilt Attrition from the ground up using these function macros; thanks to them, version 2.5.0 is an incredible 42% lighter than the previous one, all while having more features than before!
ENDLESS CUSTOMIZABILITY Function macros don't just help make data packs more compact. They're also great for making them more flexible. If you want to truly customize your experience with Attrition, head to the developer settings (available from the options menu by clicking the words 'options menu'), where you'll find that:
-- The health cap option now supports any number. The built-in limit to max health is said to be 1024 health points, so anything above that might not work correctly. -- You can now define the health gain increment, that is, the number of health points that are gained when consuming an enchanted golden apple. Again, this can now be any number, including odd (half-heart) numbers. -- You can also independently define the health loss increment, which of course is the number of health points that are lost when dying. This can also be any number, including odd (half-heart) numbers.
In a related change once again made possible because of function macros, the fixed text messages are now dynamic. This means that if you set the health loss increment to 1, then the fixed text will read "<playername> has surrendered a half-heart of maximum health!" ; for values greater than 2, it will read "<playername> has surrendered some amount of maximum health!"
DIVINE WRATH All of this customizability made the Health Upgrade toggle, formerly available from the options menu, completely redundant. It has been replaced with a new option, Divine Wrath, which is toggled off by default. When toggled on, all spirits (players who have lost all of their max health) will be given permanent blindness. This is meant to make it harder for dead players to spectate for alive players in multiplayer settings.
MULTI-VERSION SUPPORT Another new feature from Mojang is the ability to define more than one supported version (technically, pack format number) at the same time in data packs. Because of this, Attrition 2.5.0 works seamlessly in Minecraft versions 1.20.2, 1.20.3, and 1.20.4 at the same time. The resource pack has been given this update, too.
- Added a new menu called dev settings, which currently has two options: [1] Exclude Player, which lets you exclude a player from Attrition mechanics, just as before, and [2] Customize Health Cap, which lets you set a specific limit to the amount of maximum health players can accumulate. With this option, Attrition once again supports up to 20 hearts of maximum health.
- The header for the options menu now includes the words "options menu", complete with an informative hover text bubble that displays the dev settings when clicked.
- Exclude Player is no longer available directly from the main options menu.
- The color palette used for the flavor texts that display when a player regains maximum health has been changed from a yellow one to a green one.