Skip to content

Events

All classes are in emaki.jiuwu.craft.attribute.api.event. They fire synchronously on the owner thread of the live target; damage uses the owner shared by the combatants. Wrong-thread facade calls fail before creating an event.

EventTimingCancellableMutable fieldCancellation/effect
PlayerResourceConsumeEventAfter validation, before a custom resource is deductedYesamountPrevents consumption; a replacement amount is revalidated against the current balance.
PlayerAttributePointAllocateEventAfter validation, before points are spentYesamountPrevents allocation; replacement amount is revalidated against available points.
PlayerAttributePointResetEventAfter validation, before points are refunded or a reset point is spentYesNonePrevents the reset, refund, and reset-point cost.
EmakiAttributeDamageEventAfter damage calculation, before final damage is appliedYesfinalDamageCancellation or a final damage <= 0 prevents EmakiAttribute damage application.

The remaining fields are read-only snapshots. These are runtime-produced event contracts, not extension interfaces; contribution providers and gates live in emaki.jiuwu.craft.attribute.api.extension.