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:
okx-code
2019-08-09 02:17:18 +01:00
parent 2cfa96cbb5
commit ce6aa9430d
7 changed files with 39 additions and 9 deletions
+10 -1
View File
@@ -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()
@@ -53,4 +54,12 @@ processResources {
from(sourceSets.main.resources.srcDirs) {
exclude 'plugin.yml'
}
}
publishing {
publications {
maven(MavenPublication) {
from components.java
}
}
}
+3 -2
View File
@@ -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());
@@ -143,7 +148,7 @@ public class RankupHelper {
plugin.getMessage(prestige, Message.PRESTIGE_SUCCESS_PUBLIC)
.failIfEmpty()
.replaceRanks(player, prestige,prestige.getNext())
.replaceRanks(player, prestige, prestige.getNext())
.replaceFromTo(prestige)
.broadcast();
plugin.getMessage(prestige, Message.PRESTIGE_SUCCESS_PRIVATE)
@@ -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.");
}