- (API) Added Counter / Counters, a structured way to get values from triggers with multipliers / filters / conditions.
- 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
- Fixed elytra_boost_save_chance using 0-1 as the chance region rather than 0-100 (consistency)
- Added prevent_trigger option to break_block; mine_radius; mine_radius_one_deep - will improve performance, but at the expense of compatibility
- Fixed EcoEnchants integration
- Added chains.yml, a dedicated area to specify effect chains to be referenced with the run_chain effect
- Added onMaxHealth filter
- Fixed is_night condition not working
- API: Added Iterable<ConfiguredCondition>#isMet(Player) as shorthand for using .all { it.isMet(Player) }
- API: Added TriggerGroups (e.g. static_<interval>, custom_<id>) so you can programatically generate triggers with a common prefix
