- Added %victim_health% and %victim_max_health% placeholders to use in all effects
- Added above_health_percent filter - Reworked all filters to be like other config elements, allowing them to be hyphen-separated, underscore_separated, camelCase, and notseparated
- Fixed placeholders not working in filters
- Added is_expression_true condition
- Added support for victim placeholders; if the victim is a player, you can use %victim_<placeholder>% to parse a placeholder relative to them; for example %victim_player_y% to get the victim's Y coordinate
- Updated to eco 6.39.1; adding support for the min(a,b), max(a,b) and == operators in expressions
- Added chains.yml, a dedicated area to specify effect chains to be referenced with the run_chain effect
- Added onMaxHealth filter
- API: Added TriggerGroups (e.g. static_<interval>, custom_<id>) so you can programatically generate triggers with a common prefix
- API: Added TriggerGroups (e.g. static_<interval>, custom_<id>) so you can programatically generate triggers with a common prefix
- (API) Added HolderProvideEvent, with the ability to modify the list of holders that will be provided to the player
- Added elytra_boost_save_chance; chance to not consume a firework when boosting with an elytra
- Added brew trigger
- Added smelt trigger
- API: Added ConfiguredCondition#runNotMetEffects
- Cleaned up contexts for config violations; instead of having a million brackets (i.e. 'Error for effect <id>, (inline chain) (args) (Effect send_message) (args)), it will be separated by an arrow (->) to be easier to read.
- Added truly-inline chains; a shorthand syntax to run multiple effects on a trigger without ever needing to worry about the run_chain_inline effect, or even what a chain is. Instead of specifying an effect ID, you specify a list of effects to be ran on the trigger. All chain features are supported (it is an inline chain, it's just simpler). Read more about it here: https://plugins.auxilor.io/effects/configuring-an-effect#shorthand-inline-chains