mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 13:14:44 +00:00
90 lines
2.4 KiB
Java
90 lines
2.4 KiB
Java
package noppes.npcs.api.event;
|
|
|
|
import noppes.npcs.api.IDamageSource;
|
|
import noppes.npcs.api.ability.IChainedAbility;
|
|
import noppes.npcs.api.entity.ICustomNpc;
|
|
import noppes.npcs.api.entity.IEntityLivingBase;
|
|
import noppes.npcs.api.entity.IPlayer;
|
|
|
|
/**
|
|
* Events related to chained ability execution lifecycle.
|
|
* These fire at chain-level transitions, not per-ability.
|
|
* Unified for both NPCs and Players.
|
|
*/
|
|
public interface IChainEvent extends ICustomNPCsEvent {
|
|
|
|
/**
|
|
* Get the entity executing the chain (NPC or Player).
|
|
* @return the entity executing the chain
|
|
*/
|
|
IEntityLivingBase getEntity();
|
|
|
|
/**
|
|
* Get the player executing the chain, or null if the caster is an NPC.
|
|
* @return the player executing the chain, or null if NPC
|
|
*/
|
|
IPlayer getPlayer();
|
|
|
|
/**
|
|
* Get the NPC executing the chain, or null if the caster is a player.
|
|
* @return the NPC executing the chain, or null if player
|
|
*/
|
|
ICustomNpc<?> getNpc();
|
|
|
|
/**
|
|
* Whether the entity executing the chain is an NPC.
|
|
* @return true if the executor is an NPC
|
|
*/
|
|
boolean isNPC();
|
|
|
|
/**
|
|
* Get the chained ability being executed.
|
|
* @return the chained ability being executed
|
|
*/
|
|
IChainedAbility getChain();
|
|
|
|
/**
|
|
* Get the target of the chain, or null if no target.
|
|
* @return the current target entity
|
|
*/
|
|
IEntityLivingBase getTarget();
|
|
|
|
/**
|
|
* Get the current entry index within the chain (0-based).
|
|
* @return the current entry index in the chain
|
|
*/
|
|
int getEntryIndex();
|
|
|
|
/**
|
|
* Fired when a chained ability sequence starts executing.
|
|
*/
|
|
interface StartEvent extends IChainEvent {}
|
|
|
|
/**
|
|
* Fired when the chain advances to the next entry in the sequence.
|
|
*/
|
|
interface NextEvent extends IChainEvent {}
|
|
|
|
/**
|
|
* Fired when a chained ability sequence completes all entries.
|
|
*/
|
|
interface CompleteEvent extends IChainEvent {}
|
|
|
|
/**
|
|
* Fired when a chained ability is interrupted by damage.
|
|
*/
|
|
interface InterruptEvent extends IChainEvent {
|
|
/**
|
|
* Get the damage source that caused the interruption.
|
|
* @return the damage source used for this hit
|
|
*/
|
|
IDamageSource getDamageSource();
|
|
|
|
/**
|
|
* Get the amount of damage that caused the interruption.
|
|
* @return the damage amount
|
|
*/
|
|
float getDamage();
|
|
}
|
|
}
|