mirror of
https://github.com/Sollace/Unicopia.git
synced 2024-12-01 08:47:59 +01:00
27 lines
583 B
Java
27 lines
583 B
Java
|
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);
|
||
|
}
|
||
|
}
|