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:
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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]
|
||||
|
||||
Reference in New Issue
Block a user