Unicopia/src/main/java/com/minelittlepony/unicopia/magic/Levelled.java

30 lines
629 B
Java
Raw Normal View History

package com.minelittlepony.unicopia.magic;
2018-09-24 21:37:16 +02:00
2019-03-12 21:10:48 +01:00
/**
* Object with levelling capabilities.
*/
2020-04-15 18:12:00 +02:00
public interface Levelled {
2018-09-24 21:37:16 +02:00
/**
* 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);
}
}