36 lines
853 B
Java
36 lines
853 B
Java
package sh.okx.rankup.requirements;
|
|
|
|
import org.bukkit.entity.Player;
|
|
import sh.okx.rankup.RankupPlugin;
|
|
|
|
public abstract class ProgressiveRequirement extends Requirement {
|
|
public ProgressiveRequirement(RankupPlugin plugin, String name) {
|
|
super(plugin, name);
|
|
}
|
|
|
|
public ProgressiveRequirement(RankupPlugin plugin, String name, boolean subRequirement) {
|
|
super(plugin, name, subRequirement);
|
|
}
|
|
|
|
protected ProgressiveRequirement(Requirement clone) {
|
|
super(clone);
|
|
}
|
|
|
|
@Override
|
|
public boolean check(Player player) {
|
|
return getRemaining(player) <= 0;
|
|
}
|
|
|
|
@Override
|
|
public double getRemaining(Player player) {
|
|
return Math.max(0, getTotal(player) - getProgress(player));
|
|
}
|
|
|
|
@Override
|
|
public double getTotal(Player player) {
|
|
return getValueDouble();
|
|
}
|
|
|
|
public abstract double getProgress(Player player);
|
|
}
|