diff --git a/src/main/java/sh/okx/rankup/commands/RanksCommand.java b/src/main/java/sh/okx/rankup/commands/RanksCommand.java index ce15937..85b2bde 100644 --- a/src/main/java/sh/okx/rankup/commands/RanksCommand.java +++ b/src/main/java/sh/okx/rankup/commands/RanksCommand.java @@ -35,8 +35,8 @@ public class RanksCommand implements CommandExecutor { // helpful message to say there is a null rankup if (next == null) { plugin.getMessage(Message.INVALID_RANKUP).failIfEmpty().send(sender); - plugin.getLogger().severe("Rankup from " + rank.getName() + " to " + rank.getNext() + - " is defined but " + rank.getNext() + " does not exist."); + plugin.getLogger().severe("Rankup from " + rank.getName() + " to " + rank.getNext() + + " is defined but " + rank.getNext() + " does not exist."); return true; } diff --git a/src/main/java/sh/okx/rankup/requirements/requirement/PlaytimeMinutesRequirement.java b/src/main/java/sh/okx/rankup/requirements/requirement/PlaytimeMinutesRequirement.java index 9af9e6c..abdb83e 100644 --- a/src/main/java/sh/okx/rankup/requirements/requirement/PlaytimeMinutesRequirement.java +++ b/src/main/java/sh/okx/rankup/requirements/requirement/PlaytimeMinutesRequirement.java @@ -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 diff --git a/src/main/java/sh/okx/rankup/requirements/requirement/WorldRequirement.java b/src/main/java/sh/okx/rankup/requirements/requirement/WorldRequirement.java new file mode 100644 index 0000000..58a0dcd --- /dev/null +++ b/src/main/java/sh/okx/rankup/requirements/requirement/WorldRequirement.java @@ -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); + } +}