CombatDamageContext
Owns one-shot overrides for programmatic damage calls.
Bukkit fires damage events synchronously. A caller opens a scope immediately around LivingEntity.damage(...) and the matching EliteMobs filter consumes the override at the beginning of that event. Consuming it before running downstream listeners prevents nested damage events from inheriting the outer hit's override.
Types
Functions
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
public static Optional<CombatDamageContext.ClassAbilityDamageDomain> currentClassAbilityDamageDomain()
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
True while the current thread is synchronously delivering damage opened by runPlayerToEliteBypass.
Link copied to clipboard
Link copied to clipboard
Runs class-sourced damage through the bypass pipeline while retaining its origin for synchronous passive evaluation.
public static void runClassAbilityDamage(CombatDamageContext.ClassAbilityDamageDomain domain, Runnable damageCall)
Runs class damage with orthogonal target-shape and delivery identity for synchronous passive evaluation.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
public static void runPlayerToEliteBypass(CombatDamageContext.PlayerDamageSource source, Runnable damageCall)
Runs custom damage while retaining the cast-time progression identity until every synchronous damage listener has finished.
Link copied to clipboard
A transferred hit keeps attribution and scaling, but cannot recursively transfer again.