Files
CustomNPC-Plus/src/main/java/noppes/npcs/controllers/data/PlayerEffect.java
T

78 lines
1.8 KiB
Java
Raw Normal View History

2025-02-10 14:58:45 -05:00
package noppes.npcs.controllers.data;
import net.minecraft.entity.player.EntityPlayer;
import noppes.npcs.api.entity.IPlayer;
import noppes.npcs.api.handler.data.IPlayerEffect;
2025-02-10 17:24:26 -05:00
import noppes.npcs.controllers.CustomEffectController;
2025-02-10 14:58:45 -05:00
public class PlayerEffect implements IPlayerEffect {
public int id;
public int duration;
public byte level;
public int index;
2025-02-12 01:46:42 -05:00
public PlayerEffect(int id, int duration, byte level, int index) {
2025-02-10 14:58:45 -05:00
this.id = id;
this.duration = duration;
this.level = level;
2025-02-12 01:46:42 -05:00
this.index = index;
2025-02-10 14:58:45 -05:00
}
@Override
public void kill() {
duration = 0;
}
@Override
public int getId() {
return id;
}
@Override
public int getDuration() {
return duration;
}
@Override
public void setDuration(int duration) {
this.duration = duration;
}
@Override
public byte getLevel() {
return level;
}
@Override
public void setLevel(byte level) {
this.level = level;
}
@Override
public String getName() {
2025-02-12 01:46:42 -05:00
CustomEffect effect = CustomEffectController.getInstance().get(this.id, this.index);
2025-02-10 14:58:45 -05:00
if(effect != null)
return effect.getName();
return "UNKNOWN";
}
@Override
public void performEffect(IPlayer player) {
if (player != null && player.getMCEntity() != null && player.getMCEntity() instanceof EntityPlayer) {
2025-02-12 01:46:42 -05:00
CustomEffect effect = CustomEffectController.getInstance().get(this.id, this.index);
2025-02-10 14:58:45 -05:00
if(effect != null)
effect.onTick((EntityPlayer) player.getMCEntity(), this);
}
}
@Override
public int getIndex() {
return this.index;
}
@Override
public void setIndex(int index) {
this.index = index;
}
}