mirror of
https://github.com/KAMKEEL/CustomNPC-Plus-API.git
synced 2026-11-14 20:14:43 +00:00
69 lines
1.5 KiB
Java
69 lines
1.5 KiB
Java
package noppes.npcs.api.entity;
|
|
|
|
import net.minecraft.entity.Entity;
|
|
|
|
/**
|
|
* Base interface for energy barrier entities (Dome, Panel).
|
|
* Barriers are defensive structures that block incoming energy projectiles.
|
|
* Extends IEnergyAbility for shared display/lightning/owner/charging methods.
|
|
*/
|
|
public interface IEnergyBarrier<T extends Entity> extends IEnergyAbility<T> {
|
|
|
|
// ==================== HEALTH ====================
|
|
|
|
float getCurrentHealth();
|
|
|
|
void setCurrentHealth(float health);
|
|
|
|
float getHealthPercent();
|
|
|
|
float getMaxHealth();
|
|
|
|
void setMaxHealth(float maxHealth);
|
|
|
|
boolean isUseHealth();
|
|
|
|
void setUseHealth(boolean useHealth);
|
|
|
|
// ==================== DURATION ====================
|
|
|
|
int getDuration();
|
|
|
|
void setDuration(int ticks);
|
|
|
|
boolean isUseDuration();
|
|
|
|
void setUseDuration(boolean useDuration);
|
|
|
|
// ==================== STATE (BARRIER-SPECIFIC) ====================
|
|
|
|
int getTicksAlive();
|
|
|
|
// ==================== BARRIER ====================
|
|
|
|
float getDefaultMultiplier();
|
|
|
|
void setDefaultMultiplier(float multiplier);
|
|
|
|
boolean isSolid();
|
|
|
|
void setSolid(boolean solid);
|
|
|
|
boolean isKnockbackEnabled();
|
|
|
|
void setKnockbackEnabled(boolean enabled);
|
|
|
|
float getKnockbackStrength();
|
|
|
|
void setKnockbackStrength(float strength);
|
|
|
|
boolean isAbsorbing();
|
|
|
|
void setAbsorbing(boolean absorbing);
|
|
|
|
/**
|
|
* Returns the barrier type: 0=Dome, 1=Panel
|
|
*/
|
|
int getBarrierType();
|
|
}
|