package am2.api.illeffect;
import java.util.List;
import java.util.Map;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
/**
* Base class for all ill effects.
* @author Mithion
*
*/
public abstract class IllEffectBase implements IIllEffect{
@Override
public final int compareTo(Object o) {
if (!(o instanceof IIllEffect)) return 0;
IIllEffect right = (IIllEffect)o;
int myOrdinal = this.GetSeverity().ordinal();
int theirOrdinal = right.GetSeverity().ordinal();
if (myOrdinal == theirOrdinal){
return 0;
}else if (myOrdinal < theirOrdinal){
return -1;
}else{
return 1;
}
}
@Override
public abstract IllEffectSeverity GetSeverity();
@Override
public abstract String getDescription(EntityPlayer player, Object metadata);
@Override
public abstract Map<EntityPlayer, Object> ApplyIllEffect(World world, int x, int y, int z);
}