IEnergy + IBarriers

This commit is contained in:
Kam committed 2026-02-17 14:31:52 -05:00
1 parent efa8721d36
commit 3d648425fa
8 files changed
+235 -49

No files matched your search

@@ -0,0 +1,66 @@
package noppes.npcs.api.entity;
import net.minecraft.entity.Entity;
/**
* Base interface for all energy ability entities (Projectiles, Barriers).
* Contains shared display, lightning, owner, and charging properties.
*/
public interface IEnergyAbility<T extends Entity> extends IEntity<T> {
// ==================== OWNER ====================
int getOwnerEntityId();
IEntity getOwner();
// ==================== DISPLAY ====================
int getInnerColor();
void setInnerColor(int color);
float getInnerAlpha();
void setInnerAlpha(float alpha);
int getOuterColor();
void setOuterColor(int color);
boolean isOuterColorEnabled();
void setOuterColorEnabled(boolean enabled);
float getOuterColorWidth();
void setOuterColorWidth(float width);
float getOuterColorAlpha();
void setOuterColorAlpha(float alpha);
// ==================== LIGHTNING ====================
boolean hasLightningEffect();
void setLightningEffect(boolean enabled);
float getLightningDensity();
void setLightningDensity(float density);
float getLightningRadius();
void setLightningRadius(float radius);
int getLightningFadeTime();
void setLightningFadeTime(int ticks);
// ==================== STATE ====================
boolean isCharging();
float getChargeProgress();
}