mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-15 07:54:43 +00:00
Ability Zone API
This commit is contained in:
1 parent
fd4c77d015
commit
092b18fe95
3 files changed
+107
-59
No files matched your search
@@ -1,37 +1,14 @@
|
||||
package noppes.npcs.api.ability.type;
|
||||
|
||||
import noppes.npcs.api.ability.IAbility;
|
||||
|
||||
/**
|
||||
* API interface for Hazard abilities.
|
||||
* Persistent ground effect zones.
|
||||
* Persistent ground effect zones placed around the caster.
|
||||
*/
|
||||
public interface IAbilityHazard extends IAbility {
|
||||
|
||||
int getDurationTicks();
|
||||
void setDurationTicks(int ticks);
|
||||
public interface IAbilityHazard extends IAbilityZone {
|
||||
|
||||
float getRadius();
|
||||
void setRadius(float radius);
|
||||
|
||||
float getInnerRadius();
|
||||
void setInnerRadius(float radius);
|
||||
|
||||
float getConeAngle();
|
||||
void setConeAngle(float angle);
|
||||
|
||||
/**
|
||||
* Get the hazard shape (0 = CIRCLE, 1 = RING, 2 = CONE).
|
||||
*/
|
||||
int getShape();
|
||||
void setShape(int shape);
|
||||
|
||||
/**
|
||||
* Get the placement mode (0 = AT_CASTER, 1 = AT_TARGET, 2 = FOLLOW_CASTER, 3 = FOLLOW_TARGET).
|
||||
*/
|
||||
int getPlacement();
|
||||
void setPlacement(int placement);
|
||||
|
||||
float getDamagePerSecond();
|
||||
void setDamagePerSecond(float damage);
|
||||
|
||||
@@ -41,24 +18,6 @@ public interface IAbilityHazard extends IAbility {
|
||||
boolean isIgnoreInvulnFrames();
|
||||
void setIgnoreInvulnFrames(boolean ignore);
|
||||
|
||||
int getSlownessLevel();
|
||||
void setSlownessLevel(int level);
|
||||
|
||||
int getWeaknessLevel();
|
||||
void setWeaknessLevel(int level);
|
||||
|
||||
int getPoisonLevel();
|
||||
void setPoisonLevel(int level);
|
||||
|
||||
int getWitherLevel();
|
||||
void setWitherLevel(int level);
|
||||
|
||||
int getBlindnessLevel();
|
||||
void setBlindnessLevel(int level);
|
||||
|
||||
int getDebuffDuration();
|
||||
void setDebuffDuration(int duration);
|
||||
|
||||
boolean isAffectsCaster();
|
||||
void setAffectsCaster(boolean affects);
|
||||
}
|
||||
@@ -1,24 +1,10 @@
|
||||
package noppes.npcs.api.ability.type;
|
||||
|
||||
import noppes.npcs.api.ability.IAbility;
|
||||
|
||||
/**
|
||||
* API interface for Trap abilities.
|
||||
* Proximity-triggered traps.
|
||||
* Proximity-triggered traps placed around the caster.
|
||||
*/
|
||||
public interface IAbilityTrap extends IAbility {
|
||||
|
||||
int getDurationTicks();
|
||||
void setDurationTicks(int ticks);
|
||||
|
||||
/**
|
||||
* Get the placement mode (0 = AT_CASTER, 1 = AT_TARGET, 2 = AHEAD_OF_CASTER).
|
||||
*/
|
||||
int getPlacement();
|
||||
void setPlacement(int placement);
|
||||
|
||||
float getPlacementDistance();
|
||||
void setPlacementDistance(float distance);
|
||||
public interface IAbilityTrap extends IAbilityZone {
|
||||
|
||||
float getTriggerRadius();
|
||||
void setTriggerRadius(float radius);
|
||||
|
||||
@@ -0,0 +1,103 @@
|
||||
package noppes.npcs.api.ability.type;
|
||||
|
||||
import noppes.npcs.api.ability.IAbility;
|
||||
|
||||
/**
|
||||
* API interface for zone-based abilities (Trap, Hazard).
|
||||
* Shared zone properties: duration, shape, spawn, visual layers, colors.
|
||||
*/
|
||||
public interface IAbilityZone extends IAbility {
|
||||
|
||||
int getDurationTicks();
|
||||
void setDurationTicks(int ticks);
|
||||
|
||||
/**
|
||||
* Get the zone shape (0 = CIRCLE, 1 = SQUARE).
|
||||
*/
|
||||
int getZoneShapeOrdinal();
|
||||
void setZoneShapeOrdinal(int shape);
|
||||
|
||||
float getSpawnRadius();
|
||||
void setSpawnRadius(float radius);
|
||||
|
||||
float getTelegraphSize();
|
||||
void setTelegraphSize(float size);
|
||||
|
||||
int getZoneCount();
|
||||
void setZoneCount(int count);
|
||||
|
||||
float getZoneHeight();
|
||||
void setZoneHeight(float height);
|
||||
|
||||
float getParticleDensity();
|
||||
void setParticleDensity(float density);
|
||||
|
||||
float getParticleScale();
|
||||
void setParticleScale(float scale);
|
||||
|
||||
float getAnimSpeed();
|
||||
void setAnimSpeed(float speed);
|
||||
|
||||
float getLightningDensity();
|
||||
void setLightningDensity(float density);
|
||||
|
||||
// Color controls
|
||||
int getInnerColor();
|
||||
void setInnerColor(int color);
|
||||
|
||||
int getOuterColor();
|
||||
void setOuterColor(int color);
|
||||
|
||||
boolean isOuterColorEnabled();
|
||||
void setOuterColorEnabled(boolean enabled);
|
||||
|
||||
// Visual layer controls
|
||||
|
||||
boolean isGroundFill();
|
||||
void setGroundFill(boolean enabled);
|
||||
|
||||
float getGroundAlpha();
|
||||
void setGroundAlpha(float alpha);
|
||||
|
||||
boolean isRings();
|
||||
void setRings(boolean enabled);
|
||||
|
||||
int getRingCount();
|
||||
void setRingCount(int count);
|
||||
|
||||
boolean isBorder();
|
||||
void setBorder(boolean enabled);
|
||||
|
||||
float getBorderSpeed();
|
||||
void setBorderSpeed(float speed);
|
||||
|
||||
boolean isAccents();
|
||||
void setAccents(boolean enabled);
|
||||
|
||||
/**
|
||||
* Get the accent style (0=STATIC, 1=SWAYING, 2=FLICKERING).
|
||||
*/
|
||||
int getAccentStyle();
|
||||
void setAccentStyle(int style);
|
||||
|
||||
boolean isLightning();
|
||||
void setLightning(boolean enabled);
|
||||
|
||||
boolean isParticles();
|
||||
void setParticles(boolean enabled);
|
||||
|
||||
/**
|
||||
* Get the particle motion style (0=RISING, 1=DRIFTING, 2=SPARKS).
|
||||
*/
|
||||
int getParticleMotion();
|
||||
void setParticleMotion(int motion);
|
||||
|
||||
String getParticleDir();
|
||||
void setParticleDir(String directory);
|
||||
|
||||
int getParticleSize();
|
||||
void setParticleSize(int size);
|
||||
|
||||
boolean isParticleGlow();
|
||||
void setParticleGlow(boolean glow);
|
||||
}
|
||||
Reference in new issue
Block a user