diff --git a/java/noppes/npcs/api/ability/IAbility.java b/java/noppes/npcs/api/ability/IAbility.java index aca46fe..6db00a6 100644 --- a/java/noppes/npcs/api/ability/IAbility.java +++ b/java/noppes/npcs/api/ability/IAbility.java @@ -216,4 +216,21 @@ public interface IAbility { * Set this ability's data from NBT. */ void setNbt(INbt nbt); + + // Burst system + + boolean isBurstEnabled(); + void setBurstEnabled(boolean enabled); + + int getBurstAmount(); + void setBurstAmount(int amount); + + int getBurstDelay(); + void setBurstDelay(int delay); + + boolean isBurstReplayAnimations(); + void setBurstReplayAnimations(boolean replay); + + boolean isBurstOverlap(); + void setBurstOverlap(boolean overlap); } diff --git a/java/noppes/npcs/api/ability/type/IAbilityDisc.java b/java/noppes/npcs/api/ability/type/IAbilityDisc.java index f4a6b4f..8460cbe 100644 --- a/java/noppes/npcs/api/ability/type/IAbilityDisc.java +++ b/java/noppes/npcs/api/ability/type/IAbilityDisc.java @@ -73,4 +73,22 @@ public interface IAbilityDisc extends IAbility { */ int getAnchorPoint(); void setAnchorPoint(int point); + + // Dual/Projectile count + + int getProjectileCount(); + void setProjectileCount(int count); + + int getDualFireDelay(); + void setDualFireDelay(int delay); + + // Indexed accessors (for dual mode) + int getInnerColor(int projectileIndex); + void setInnerColor(int projectileIndex, int color); + + int getOuterColor(int projectileIndex); + void setOuterColor(int projectileIndex, int color); + + int getAnchorPoint(int projectileIndex); + void setAnchorPoint(int projectileIndex, int point); } diff --git a/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java b/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java index ec4b396..e817541 100644 --- a/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java +++ b/java/noppes/npcs/api/ability/type/IAbilityEnergyBeam.java @@ -67,4 +67,22 @@ public interface IAbilityEnergyBeam extends IAbility { */ int getAnchorPoint(); void setAnchorPoint(int point); + + // Dual/Projectile count + + int getProjectileCount(); + void setProjectileCount(int count); + + int getDualFireDelay(); + void setDualFireDelay(int delay); + + // Indexed accessors (for dual mode) + int getInnerColor(int projectileIndex); + void setInnerColor(int projectileIndex, int color); + + int getOuterColor(int projectileIndex); + void setOuterColor(int projectileIndex, int color); + + int getAnchorPoint(int projectileIndex); + void setAnchorPoint(int projectileIndex, int point); } diff --git a/java/noppes/npcs/api/ability/type/IAbilityOrb.java b/java/noppes/npcs/api/ability/type/IAbilityOrb.java index 81974f9..1ccccdc 100644 --- a/java/noppes/npcs/api/ability/type/IAbilityOrb.java +++ b/java/noppes/npcs/api/ability/type/IAbilityOrb.java @@ -64,4 +64,22 @@ public interface IAbilityOrb extends IAbility { */ int getAnchorPoint(); void setAnchorPoint(int point); + + // Dual/Projectile count + + int getProjectileCount(); + void setProjectileCount(int count); + + int getDualFireDelay(); + void setDualFireDelay(int delay); + + // Indexed accessors (for dual mode) + int getInnerColor(int projectileIndex); + void setInnerColor(int projectileIndex, int color); + + int getOuterColor(int projectileIndex); + void setOuterColor(int projectileIndex, int color); + + int getAnchorPoint(int projectileIndex); + void setAnchorPoint(int projectileIndex, int point); }