diff --git a/build.gradle b/build.gradle index 7ab5001..2148674 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'sh.okx' -version '3.1.2' +version '3.1.4' repositories { mavenCentral() diff --git a/src/main/java/sh/okx/rankup/Rankup.java b/src/main/java/sh/okx/rankup/Rankup.java index 24fe3b2..b6f3932 100644 --- a/src/main/java/sh/okx/rankup/Rankup.java +++ b/src/main/java/sh/okx/rankup/Rankup.java @@ -383,18 +383,22 @@ public class Rankup extends JavaPlugin { public MessageBuilder replaceMoneyRequirements(MessageBuilder builder, CommandSender sender, Rank rank) { Requirement money = rank.getRequirement("money"); - Double amount = null; - if (sender instanceof Player && rank.isIn((Player) sender)) { - if (money != null && economy != null) { - amount = money.getRemaining((Player) sender); + if(money != null) { + Double amount = null; + if (sender instanceof Player && rank.isIn((Player) sender)) { + if (economy != null) { + amount = money.getRemaining((Player) sender); + } + } else { + amount = money.getValueDouble(); + } + if (amount != null && economy != null) { + builder.replace(Variable.MONEY_NEEDED, formatMoney(amount)); + builder.replace(Variable.MONEY, formatMoney(money.getValueDouble())); } - replaceRequirements(builder, (Player) sender, rank); - } else { - amount = money.getValueDouble(); } - if (amount != null && economy != null) { - builder.replace(Variable.MONEY_NEEDED, formatMoney(amount)); - builder.replace(Variable.MONEY, formatMoney(money.getValueDouble())); + if(sender instanceof Player) { + replaceRequirements(builder, (Player) sender, rank); } return builder; } @@ -405,11 +409,13 @@ public class Rankup extends JavaPlugin { for (Requirement requirement : rank.getRequirements()) { try { replaceRequirements(builder, Variable.AMOUNT, requirement, () -> simpleFormat.format(requirement.getValueDouble())); - replaceRequirements(builder, Variable.AMOUNT_NEEDED, requirement, () -> simpleFormat.format(requirement.getRemaining(player))); - replaceRequirements(builder, Variable.PERCENT_LEFT, requirement, - () -> percentFormat.format(Math.max(0, (requirement.getRemaining(player) / requirement.getValueDouble()) * 100))); - replaceRequirements(builder, Variable.PERCENT_DONE, requirement, - () -> percentFormat.format(Math.min(100, (1 - (requirement.getRemaining(player) / requirement.getValueDouble())) * 100))); + if(rank.isIn(player)) { + replaceRequirements(builder, Variable.AMOUNT_NEEDED, requirement, () -> simpleFormat.format(requirement.getRemaining(player))); + replaceRequirements(builder, Variable.PERCENT_LEFT, requirement, + () -> percentFormat.format(Math.max(0, (requirement.getRemaining(player) / requirement.getValueDouble()) * 100))); + replaceRequirements(builder, Variable.PERCENT_DONE, requirement, + () -> percentFormat.format(Math.min(100, (1 - (requirement.getRemaining(player) / requirement.getValueDouble())) * 100))); + } } catch (NumberFormatException ignored) { } } diff --git a/src/main/java/sh/okx/rankup/commands/RankupCommand.java b/src/main/java/sh/okx/rankup/commands/RankupCommand.java index ec9c840..38d7388 100644 --- a/src/main/java/sh/okx/rankup/commands/RankupCommand.java +++ b/src/main/java/sh/okx/rankup/commands/RankupCommand.java @@ -32,10 +32,11 @@ public class RankupCommand implements CommandExecutor { Rankups rankups = plugin.getRankups(); Rank rank = rankups.getByPlayer(player); - Rank next = rankups.next(rank); if (!plugin.checkRankup(player)) { return true; - } else if(next == null) { + } + Rank next = rankups.next(rank); + if(next == null) { plugin.getLogger().severe("Rankup from " + rank.getName() + " to " + rank.getNext() + " is defined but " + rank.getNext() + " does not exist."); plugin.getMessage(Message.INVALID_RANKUP).failIfEmpty().send(player); diff --git a/src/main/java/sh/okx/rankup/placeholders/RankupExpansion.java b/src/main/java/sh/okx/rankup/placeholders/RankupExpansion.java index f21bacf..53cd1c5 100644 --- a/src/main/java/sh/okx/rankup/placeholders/RankupExpansion.java +++ b/src/main/java/sh/okx/rankup/placeholders/RankupExpansion.java @@ -41,8 +41,10 @@ public class RankupExpansion extends PlaceholderExpansion { return getPlaceholderRequirement(player, rank, parts[1], parts.length > 2 ? parts[2] : ""); } else if (params.startsWith("rank_requirement_")) { - String[] parts = params.split("_", 4); - return placeholders.getSimpleFormat().format(orElse(rankups.getByName(parts[2]).getRequirement(parts[3]), Requirement::getValueDouble, 0)); + String[] parts = params.split("_", 5); + return getPlaceholderRequirement(player, rankups.getByName(parts[2]), + parts[3], parts.length > 4 ? parts[4] : ""); +// return placeholders.getSimpleFormat().format(orElse(rankups.getByName(parts[2]).getRequirement(parts[3]), Requirement::getValueDouble, 0)); } else if (params.startsWith("rank_money_")) { String[] parts = params.split("_", 4); double amount = rankups.getByName(parts[2]).getRequirement("money").getValueDouble(); diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 15a4841..fd4ee4d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: Rankup -version: 3.1.2 +version: 3.1.4 main: sh.okx.rankup.Rankup author: Okx depend: [Vault]