Unicopia/src/main/java/com/minelittlepony/unicopia/spell/ILevelled.java

27 lines
583 B
Java
Raw Normal View History

2018-09-24 21:37:16 +02:00
package com.minelittlepony.unicopia.spell;
public interface ILevelled {
/**
* Maximum level this spell can reach or -1 for unlimited.
* <br>
* If a gem goes past this level it is more likely to explode.
*/
default int getMaxLevel() {
return 0;
}
default boolean canLevelUp() {
int max = getMaxLevel();
return max < 0 || getCurrentLevel() < max;
}
int getCurrentLevel();
void setCurrentLevel(int level);
default void addLevels(int levels) {
setCurrentLevel(getCurrentLevel() + levels);
}
}