Files
2026-03-09 16:20:07 -04:00

54 lines
1.4 KiB
Java

package noppes.npcs.api.event;
import noppes.npcs.api.entity.IEnergyBarrier;
import noppes.npcs.api.entity.IEnergyProjectile;
import noppes.npcs.api.entity.IEntity;
/**
* Events fired during energy barrier lifecycle and interactions.
*/
public interface IEnergyBarrierEvent extends ICustomNPCsEvent {
/** @return the energy barrier entity. */
IEnergyBarrier getBarrier();
/** @return the entity that owns this barrier. */
IEntity getOwner();
/**
* Fired when an energy barrier is spawned.
* @hookName energyBarrierSpawned
*/
interface SpawnedEvent extends IEnergyBarrierEvent {
}
/**
* Fired each tick while the barrier exists.
* @hookName energyBarrierTick
*/
interface UpdateEvent extends IEnergyBarrierEvent {
}
/**
* Fired when the barrier is hit by an energy projectile.
* @hookName energyBarrierHit
*/
interface HitEvent extends IEnergyBarrierEvent {
/** @return the projectile that hit the barrier. */
IEnergyProjectile getProjectile();
/** @return the damage dealt. */
float getDamage();
/** @param damage the new damage value. */
void setDamage(float damage);
}
/**
* Fired when the barrier is destroyed.
* @hookName energyBarrierDestroyed
*/
interface DestroyedEvent extends IEnergyBarrierEvent {
}
}