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

@@ -4,16 +4,12 @@ import net.minecraft.entity.Entity;
/**
* Represents an energy projectile entity (Orb, Beam, Disc, Laser).
* Extends IEntity so scripts have full access to both entity and energy-specific methods.
* Extends IEnergyAbility for shared display/lightning/owner/charging methods.
*/
public interface IEnergyProjectile<T extends Entity> extends IEntity<T> {
public interface IEnergyProjectile<T extends Entity> extends IEnergyAbility<T> {
// ==================== OWNER & TARGET ====================
int getOwnerEntityId();
IEntity getOwner();
void setOwner(IEntity owner);
int getTargetEntityId();
@@ -28,27 +24,7 @@ public interface IEnergyProjectile<T extends Entity> extends IEntity<T> {
void setSize(float size);
// ==================== DISPLAY ====================
int getInnerColor();
void setInnerColor(int color);
int getOuterColor();
void setOuterColor(int color);
boolean isOuterColorEnabled();
void setOuterColorEnabled(boolean enabled);
float getOuterColorWidth();
void setOuterColorWidth(float width);
float getOuterColorAlpha();
void setOuterColorAlpha(float alpha);
// ==================== DISPLAY (PROJECTILE-SPECIFIC) ====================
float getRotationSpeed();
@@ -64,24 +40,6 @@ public interface IEnergyProjectile<T extends Entity> extends IEntity<T> {
float getInterpolatedSize(float partialTicks);
// ==================== 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);
// ==================== LIFESPAN ====================
float getMaxDistance();
@@ -158,10 +116,6 @@ public interface IEnergyProjectile<T extends Entity> extends IEntity<T> {
boolean hasHit();
boolean isCharging();
float getChargeProgress();
/**
* Returns the energy projectile sub-type.
* 0=Orb, 1=Beam, 2=Disc, 3=Laser