- Changed how effects detect trigger compatibility. (API) - Instead of supplying a Collection<Trigger> in the constructor, a () -> Collection<Trigger> is supplied instead. Triggers.withParameters returns () -> Collection<Trigger> now, and specifying all triggers uses Triggers.all() rather than Triggers.values(). Effect#applicableTriggers remains unchanged; however the named parameter in the effect constructor is now triggers rather than applicableTriggers.
This will fix issues with triggers being registered after effect constructor invocation but before effect compilation, for example the kill_boss trigger not working with give_points.
- Added more trigger parameters supplied from: bow_attack, jump, melee_attack, mine_block, mine_block_progress, move, projectile_hit, static, toggle_flight, toggle_sneak, toggle_sprint, trident_attack
- TriggerData can now automatically infer Item and Velocity (where not explicitly supplied) from the Player and the Victim components (if present)
- Added no_source option to shoot and shoot_arrow, prevents retriggering effects (Like a ricochet effect for arrows)
- Added spawn_potion_cloud effect
- Added add_holder effect; allows you to give custom effects/conditions temporarily on a trigger, for example you can give permanent effects temporarily using this, and a lot of other beautifully complex magic