3.5.7-alpha.2
- add %prestige_percent_left/done_formatted% - fix prestige bug - show ranks as completed if at last rank
This commit is contained in:
+10
-1
@@ -1,10 +1,11 @@
|
||||
plugins {
|
||||
id 'java'
|
||||
id "io.freefair.lombok" version "3.8.0"
|
||||
id 'maven-publish'
|
||||
}
|
||||
|
||||
group 'sh.okx'
|
||||
version '3.5.7-alpha.1'
|
||||
version '3.5.7-alpha.2'
|
||||
|
||||
repositories {
|
||||
mavenCentral()
|
||||
@@ -54,3 +55,11 @@ processResources {
|
||||
exclude 'plugin.yml'
|
||||
}
|
||||
}
|
||||
|
||||
publishing {
|
||||
publications {
|
||||
maven(MavenPublication) {
|
||||
from components.java
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -375,7 +375,8 @@ public class Rankup extends JavaPlugin {
|
||||
() -> 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)));
|
||||
replaceRequirements(builder, Variable.AMOUNT_DONE, requirement, () -> simpleFormat.format(requirement.getValueDouble() - requirement.getRemaining(player)));
|
||||
replaceRequirements(builder, Variable.AMOUNT_DONE, requirement,
|
||||
() -> simpleFormat.format(requirement.getValueDouble() - requirement.getRemaining(player)));
|
||||
}
|
||||
} catch (NumberFormatException ignored) {
|
||||
}
|
||||
@@ -418,6 +419,6 @@ public class Rankup extends JavaPlugin {
|
||||
|
||||
public boolean isLegacy() {
|
||||
String version = Bukkit.getVersion();
|
||||
return !(version.contains("1.13") || version.contains("1.14"));
|
||||
return !(version.contains("1.13") || version.contains("1.14") || version.contains("1.15"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,7 +134,12 @@ public class RankupHelper {
|
||||
|
||||
Prestige prestige = plugin.getPrestiges().getByPlayer(player);
|
||||
prestige.applyRequirements(player);
|
||||
doRankup(player, prestige);
|
||||
|
||||
prestige.runCommands(player);
|
||||
applyCooldown(player);
|
||||
|
||||
permissions.playerRemoveGroup(null, player, prestige.getFrom());
|
||||
permissions.playerAddGroup(null, player, prestige.getTo());
|
||||
|
||||
if (prestige.getRank() != null) {
|
||||
permissions.playerRemoveGroup(null, player, prestige.getRank());
|
||||
|
||||
@@ -28,7 +28,8 @@ public class RanksCommand implements CommandExecutor {
|
||||
|
||||
plugin.sendHeaderFooter(sender, playerRank, Message.RANKS_HEADER);
|
||||
|
||||
Message message = playerRank == null ? Message.RANKS_INCOMPLETE : Message.RANKS_COMPLETE;
|
||||
Message message = !(sender instanceof Player && rankups.isLast(plugin.getPermissions(), (Player) sender))
|
||||
&& playerRank == null ? Message.RANKS_INCOMPLETE : Message.RANKS_COMPLETE;
|
||||
Rank rank = rankups.getFirst();
|
||||
while (rank != null) {
|
||||
String name = rank.getNext();
|
||||
|
||||
@@ -2,6 +2,9 @@ package sh.okx.rankup.messages;
|
||||
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
/**
|
||||
* A no-op implementation of MessageBuilder
|
||||
*/
|
||||
public class NullMessageBuilder extends MessageBuilder {
|
||||
NullMessageBuilder() {
|
||||
super(null);
|
||||
|
||||
@@ -16,6 +16,8 @@ public class Placeholders {
|
||||
private final DecimalFormat percentFormat;
|
||||
@Getter
|
||||
private final DecimalFormat simpleFormat;
|
||||
@Getter
|
||||
private RankupExpansion expansion;
|
||||
private boolean registered;
|
||||
|
||||
public Placeholders(Rankup plugin) {
|
||||
@@ -27,7 +29,8 @@ public class Placeholders {
|
||||
|
||||
public void register() {
|
||||
if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) {
|
||||
new RankupExpansion(plugin, this).register();
|
||||
expansion = new RankupExpansion(plugin, this);
|
||||
expansion.register();
|
||||
registered = true;
|
||||
} else {
|
||||
registered = false;
|
||||
|
||||
@@ -88,9 +88,9 @@ public class RankupExpansion extends PlaceholderExpansion {
|
||||
}
|
||||
return orElsePlaceholder(rank, r -> orElsePlaceholder(rank, Rank::getNext, "highest-rank"), "not-in-ladder");
|
||||
case "money":
|
||||
return String.valueOf(orElse(rank, r -> simplify(r.getRequirement("money").getValueDouble()), 0));
|
||||
return String.valueOf(getMoney(rank));
|
||||
case "money_formatted":
|
||||
return plugin.formatMoney(orElse(rank, r -> r.getRequirement("money").getValueDouble(), 0D));
|
||||
return plugin.formatMoney(getMoney(rank).doubleValue());
|
||||
case "money_left":
|
||||
return String.valueOf(Math.max(0, orElse(rank, r -> simplify(plugin.getEconomy().getBalance(player) - r.getRequirement("money").getValueDouble()), 0).doubleValue()));
|
||||
case "money_left_formatted":
|
||||
@@ -103,11 +103,19 @@ public class RankupExpansion extends PlaceholderExpansion {
|
||||
return String.valueOf(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getValueDouble()) * 100, 0).doubleValue()));
|
||||
case "percent_done_formatted":
|
||||
return placeholders.getPercentFormat().format(Math.min(100D, orElse(rank, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getValueDouble()) * 100, 0).doubleValue()));
|
||||
case "prestige_percent_left_formatted":
|
||||
return placeholders.getPercentFormat().format(Math.max(0D, orElse(prestige, r -> (1 - (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getValueDouble())) * 100, 0).doubleValue()));
|
||||
case "prestige_percent_done_formatted":
|
||||
return placeholders.getPercentFormat().format(Math.min(100D, orElse(prestige, r -> (plugin.getEconomy().getBalance(player) / r.getRequirement("money").getValueDouble()) * 100, 0).doubleValue()));
|
||||
default:
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private Number getMoney(Rank rank) {
|
||||
return orElse(rank, r -> simplify(r.getRequirement("money").getValueDouble()), 0);
|
||||
}
|
||||
|
||||
private void requirePrestiging(Prestiges prestiges, String params) {
|
||||
Objects.requireNonNull(prestiges, "Using %rankup_" + params + "% prestige placeholder but prestiging is disabled.");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user