From 7b6a25d66eb6fe46aab890955cc1e80ae2dda560 Mon Sep 17 00:00:00 2001 From: okx-code Date: Tue, 28 Aug 2018 22:31:48 +0100 Subject: [PATCH] add requirement placeholders for each rank: %rankup_rank_requirement__% %rankup_rank_requirement___left% %rankup_rank_requirement___percent_left% %rankup_rank_requirement___percent_done% %rankup_rank_money_% --- build.gradle | 2 +- .../okx/rankup/commands/RankListCommand.java | 2 +- src/main/java/sh/okx/rankup/gui/Gui.java | 2 +- .../okx/rankup/placeholders/Placeholders.java | 21 +++++++++++++------ .../java/sh/okx/rankup/ranks/Rankups.java | 3 ++- src/main/resources/plugin.yml | 2 +- 6 files changed, 21 insertions(+), 11 deletions(-) diff --git a/build.gradle b/build.gradle index 35d597a..ecb2ebe 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ plugins { } group 'sh.okx' -version '3.0-alpha.13' +version '3.0-alpha.14' sourceCompatibility = 1.8 diff --git a/src/main/java/sh/okx/rankup/commands/RankListCommand.java b/src/main/java/sh/okx/rankup/commands/RankListCommand.java index 81a45aa..6ad591d 100644 --- a/src/main/java/sh/okx/rankup/commands/RankListCommand.java +++ b/src/main/java/sh/okx/rankup/commands/RankListCommand.java @@ -33,7 +33,7 @@ public class RankListCommand implements CommandExecutor { Rank next = rankups.nextRank(rank); if(rank.equals(playerRank)) { sendMessage(sender, Message.RANKS_CURRENT, rank, next); - message = Message.RANKS_COMPLETE; + message = Message.RANKS_INCOMPLETE; } else { sendMessage(sender, message, rank, next); } diff --git a/src/main/java/sh/okx/rankup/gui/Gui.java b/src/main/java/sh/okx/rankup/gui/Gui.java index 555765b..516ed3d 100644 --- a/src/main/java/sh/okx/rankup/gui/Gui.java +++ b/src/main/java/sh/okx/rankup/gui/Gui.java @@ -54,7 +54,7 @@ public class Gui implements InventoryHolder { return gui; } - private static ItemStack getItem(ConfigurationSection section, Player player, Rank oldRank, Rank rank) { + private static ItemStack getItem(ConfigurationSection section, Player player, Rank oldRank, Rank rank ) { boolean legacy = !Bukkit.getVersion().contains("1.13"); String materialName = section.getString("material").toUpperCase(); diff --git a/src/main/java/sh/okx/rankup/placeholders/Placeholders.java b/src/main/java/sh/okx/rankup/placeholders/Placeholders.java index 9cab68d..85ac9ae 100644 --- a/src/main/java/sh/okx/rankup/placeholders/Placeholders.java +++ b/src/main/java/sh/okx/rankup/placeholders/Placeholders.java @@ -41,10 +41,19 @@ public class Placeholders extends PlaceholderExpansion { next = rankups.nextRank(rank); } - if(params.startsWith("requirement_")) { + if (params.startsWith("requirement_")) { String[] parts = params.split("_", 3); return getPlaceholderRequirement(player, rank, parts[1], parts.length > 2 ? parts[2] : ""); + } else if (params.startsWith("rank_requirement_")) { + String[] parts = params.split("_", 5); + return getPlaceholderRequirement(player, rankups.getRank(parts[2]), + parts[3], parts.length > 4 ? parts[4] : ""); + } else if(params.startsWith("rank_money_")) { + String[] parts = params.split("_", 3); + return moneyFormat.format(rankups.getRank(parts[2]).getRequirement("money").getAmount()); + } else { + } switch (params) { @@ -81,9 +90,9 @@ public class Placeholders extends PlaceholderExpansion { case "money_left_formatted": return plugin.formatMoney(Math.max(0D, orElse(rank, r -> plugin.getEconomy().getBalance(player) - r.getRequirement("money").getAmount(), 0D))); case "percent_left": - return String.valueOf(Math.max(0D, orElse(rank, r -> (1-(plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount())) * 100, 0).doubleValue())); + return String.valueOf(Math.max(0D, orElse(rank, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount())) * 100, 0).doubleValue())); case "percent_left_formatted": - return percentFormat.format(Math.max(0D, orElse(rank, r -> (1-(plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount())) * 100, 0).doubleValue())); + return percentFormat.format(Math.max(0D, orElse(rank, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount())) * 100, 0).doubleValue())); case "percent_done": return String.valueOf(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount()) * 100, 0).doubleValue())); case "percent_done_formatted": @@ -94,11 +103,11 @@ public class Placeholders extends PlaceholderExpansion { } private String getPlaceholderRequirement(Player player, Rank rank, String requirementName, String params) { - if(rank == null) { + if (rank == null) { return ""; } Requirement requirement = rank.getRequirement(requirementName); - switch(params) { + switch (params) { case "": return simpleFormat.format(orElse(requirement, Requirement::getAmount, 0)); case "left": @@ -106,7 +115,7 @@ public class Placeholders extends PlaceholderExpansion { case "percent_left": return percentFormat.format(orElse(requirement, r -> (r.getRemaining(player) / r.getAmount()) * 100, 0)); case "percent_done": - return percentFormat.format(orElse(requirement, r -> (1-(r.getRemaining(player) / r.getAmount())) * 100, 100)); + return percentFormat.format(orElse(requirement, r -> (1 - (r.getRemaining(player) / r.getAmount())) * 100, 100)); default: return null; } diff --git a/src/main/java/sh/okx/rankup/ranks/Rankups.java b/src/main/java/sh/okx/rankup/ranks/Rankups.java index e36803e..4ef5f09 100644 --- a/src/main/java/sh/okx/rankup/ranks/Rankups.java +++ b/src/main/java/sh/okx/rankup/ranks/Rankups.java @@ -39,8 +39,9 @@ public class Rankups { } public Rank getRank(String name) { + System.out.println(name); for(Rank rank : ranks) { - if(rank.getName().equals(name)) { + if(rank.getName().equalsIgnoreCase(name)) { return rank; } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index fc79030..6a6939d 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,5 +1,5 @@ name: Rankup -version: 3.0-alpha.13 +version: 3.0-alpha.14 main: sh.okx.rankup.Rankup author: Okx depend: [Vault]