Code Patterns

Copy-paste examples for common plugin tasks. Commands, events, ECS, GUI, and more.

← Back to Patterns
damage

Handle Damage Event

Listen for and modify damage events.

Example Code

java
// Register damage handler in ECS system
// The Damage class is a CancellableEcsEvent

public void onDamage(Damage damage) {
    // Get damage info
    float amount = damage.getAmount();
    Damage.Source source = damage.getSource();
    DamageCause cause = damage.getCause();

    // Modify damage
    damage.setAmount(amount * 0.5f); // Half damage

    // Or cancel completely
    damage.setCancelled(true);
}

Thread Safety

Damage events run on world thread as ECS events.

Common Mistakes

Not checking damage source type before casting. Modifying damage after event completes.