fix playtime minutes requirement and add world requirement

This commit is contained in:
okx-code
2018-12-15 09:56:57 +00:00
parent 02a8dc4e25
commit ac6945431a
3 changed files with 39 additions and 4 deletions
@@ -26,12 +26,12 @@ public class PlaytimeMinutesRequirement extends Requirement {
@Override
public boolean check(Player player) {
return player.getStatistic(playOneTick) / TICKS_PER_MINUTE >= getValueDouble();
return getRemaining(player) <= 0;
}
@Override
public double getRemaining(Player player) {
return Math.max(0, getValueDouble() - (player.getStatistic(playOneTick) * TICKS_PER_MINUTE));
return Math.max(0, getValueDouble() - (player.getStatistic(playOneTick) / TICKS_PER_MINUTE));
}
@Override
@@ -0,0 +1,35 @@
package sh.okx.rankup.requirements.requirement;
import org.bukkit.entity.Player;
import sh.okx.rankup.Rankup;
import sh.okx.rankup.requirements.Requirement;
public class WorldRequirement extends Requirement {
public WorldRequirement(Rankup plugin) {
super(plugin, "world");
}
protected WorldRequirement(Requirement clone) {
super(clone);
}
@Override
public boolean check(Player player) {
for (String world : getValueString().split(" ")) {
if (player.getWorld().getName().equalsIgnoreCase(world)) {
return true;
}
}
return false;
}
@Override
public double getRemaining(Player player) {
return check(player) ? 0 : 1;
}
@Override
public Requirement clone() {
return new WorldRequirement(this);
}
}