add requirement placeholders for each rank:

%rankup_rank_requirement_<rank>_<requirement>%
%rankup_rank_requirement_<rank>_<requirement>_left%
%rankup_rank_requirement_<rank>_<requirement>_percent_left% %rankup_rank_requirement_<rank>_<requirement>_percent_done% %rankup_rank_money_<rank>%
This commit is contained in:
okx-code
2018-08-28 22:31:48 +01:00
parent 923cc8918c
commit 7b6a25d66e
6 changed files with 21 additions and 11 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ plugins {
} }
group 'sh.okx' group 'sh.okx'
version '3.0-alpha.13' version '3.0-alpha.14'
sourceCompatibility = 1.8 sourceCompatibility = 1.8
@@ -33,7 +33,7 @@ public class RankListCommand implements CommandExecutor {
Rank next = rankups.nextRank(rank); Rank next = rankups.nextRank(rank);
if(rank.equals(playerRank)) { if(rank.equals(playerRank)) {
sendMessage(sender, Message.RANKS_CURRENT, rank, next); sendMessage(sender, Message.RANKS_CURRENT, rank, next);
message = Message.RANKS_COMPLETE; message = Message.RANKS_INCOMPLETE;
} else { } else {
sendMessage(sender, message, rank, next); sendMessage(sender, message, rank, next);
} }
+1 -1
View File
@@ -54,7 +54,7 @@ public class Gui implements InventoryHolder {
return gui; 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"); boolean legacy = !Bukkit.getVersion().contains("1.13");
String materialName = section.getString("material").toUpperCase(); String materialName = section.getString("material").toUpperCase();
@@ -41,10 +41,19 @@ public class Placeholders extends PlaceholderExpansion {
next = rankups.nextRank(rank); next = rankups.nextRank(rank);
} }
if(params.startsWith("requirement_")) { if (params.startsWith("requirement_")) {
String[] parts = params.split("_", 3); String[] parts = params.split("_", 3);
return getPlaceholderRequirement(player, rank, return getPlaceholderRequirement(player, rank,
parts[1], parts.length > 2 ? parts[2] : ""); 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) { switch (params) {
@@ -81,9 +90,9 @@ public class Placeholders extends PlaceholderExpansion {
case "money_left_formatted": case "money_left_formatted":
return plugin.formatMoney(Math.max(0D, orElse(rank, r -> plugin.getEconomy().getBalance(player) - r.getRequirement("money").getAmount(), 0D))); return plugin.formatMoney(Math.max(0D, orElse(rank, r -> plugin.getEconomy().getBalance(player) - r.getRequirement("money").getAmount(), 0D)));
case "percent_left": 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": 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": case "percent_done":
return String.valueOf(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount()) * 100, 0).doubleValue())); return String.valueOf(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getAmount()) * 100, 0).doubleValue()));
case "percent_done_formatted": case "percent_done_formatted":
@@ -94,11 +103,11 @@ public class Placeholders extends PlaceholderExpansion {
} }
private String getPlaceholderRequirement(Player player, Rank rank, String requirementName, String params) { private String getPlaceholderRequirement(Player player, Rank rank, String requirementName, String params) {
if(rank == null) { if (rank == null) {
return ""; return "";
} }
Requirement requirement = rank.getRequirement(requirementName); Requirement requirement = rank.getRequirement(requirementName);
switch(params) { switch (params) {
case "": case "":
return simpleFormat.format(orElse(requirement, Requirement::getAmount, 0)); return simpleFormat.format(orElse(requirement, Requirement::getAmount, 0));
case "left": case "left":
@@ -106,7 +115,7 @@ public class Placeholders extends PlaceholderExpansion {
case "percent_left": case "percent_left":
return percentFormat.format(orElse(requirement, r -> (r.getRemaining(player) / r.getAmount()) * 100, 0)); return percentFormat.format(orElse(requirement, r -> (r.getRemaining(player) / r.getAmount()) * 100, 0));
case "percent_done": 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: default:
return null; return null;
} }
@@ -39,8 +39,9 @@ public class Rankups {
} }
public Rank getRank(String name) { public Rank getRank(String name) {
System.out.println(name);
for(Rank rank : ranks) { for(Rank rank : ranks) {
if(rank.getName().equals(name)) { if(rank.getName().equalsIgnoreCase(name)) {
return rank; return rank;
} }
} }
+1 -1
View File
@@ -1,5 +1,5 @@
name: Rankup name: Rankup
version: 3.0-alpha.13 version: 3.0-alpha.14
main: sh.okx.rankup.Rankup main: sh.okx.rankup.Rankup
author: Okx author: Okx
depend: [Vault] depend: [Vault]