fix playtime minutes requirement and add world requirement
This commit is contained in:
@@ -35,8 +35,8 @@ public class RanksCommand implements CommandExecutor {
|
|||||||
// helpful message to say there is a null rankup
|
// helpful message to say there is a null rankup
|
||||||
if (next == null) {
|
if (next == null) {
|
||||||
plugin.getMessage(Message.INVALID_RANKUP).failIfEmpty().send(sender);
|
plugin.getMessage(Message.INVALID_RANKUP).failIfEmpty().send(sender);
|
||||||
plugin.getLogger().severe("Rankup from " + rank.getName() + " to " + rank.getNext() +
|
plugin.getLogger().severe("Rankup from " + rank.getName() + " to " + rank.getNext()
|
||||||
" is defined but " + rank.getNext() + " does not exist.");
|
+ " is defined but " + rank.getNext() + " does not exist.");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -26,12 +26,12 @@ public class PlaytimeMinutesRequirement extends Requirement {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean check(Player player) {
|
public boolean check(Player player) {
|
||||||
return player.getStatistic(playOneTick) / TICKS_PER_MINUTE >= getValueDouble();
|
return getRemaining(player) <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public double getRemaining(Player player) {
|
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
|
@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);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user