add /prestige

This commit is contained in:
okx-code
2018-09-02 15:36:08 +01:00
parent e9d7a9791a
commit 82078dd31b
23 changed files with 469 additions and 181 deletions
@@ -16,7 +16,9 @@ public enum Message {
RANKS_CURRENT("rankup.ranks.current"),
RANKS_INCOMPLETE("rankup.ranks.incomplete"),
COOLDOWN_SINGULAR("rankup.cooldown.singular"),
COOLDOWN_PLURAL("rankup.cooldown.plural");
COOLDOWN_PLURAL("rankup.cooldown.plural"),
NOT_HIGH_ENOUGH("rankup.not-high-enough"),
MUST_PRESTIGE("rankup.must-prestige");
@Getter
private final String name;
@@ -5,6 +5,7 @@ import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
import org.bukkit.configuration.ConfigurationSection;
import org.bukkit.entity.Player;
import sh.okx.rankup.prestige.Prestige;
import sh.okx.rankup.ranks.Rank;
import java.util.regex.Matcher;
@@ -32,32 +33,37 @@ public class MessageBuilder {
return this;
}
public MessageBuilder replaceAll(CommandSender player, Rank rank) {
public MessageBuilder replaceRanks(CommandSender player, Rank rank) {
replace(Variable.PLAYER, player.getName());
replaceAll(rank);
replaceRanks(rank);
return this;
}
public MessageBuilder replaceAll(CommandSender player, Rank oldRank, Rank rank) {
public MessageBuilder replaceRanks(CommandSender player, Rank oldRank, Rank rank) {
replace(Variable.PLAYER, player.getName());
replaceAll(oldRank, rank);
replaceRanks(oldRank, rank);
return this;
}
public MessageBuilder replaceAll(Rank rank) {
public MessageBuilder replaceRanks(Rank rank) {
replace(Variable.RANK, rank.getRank());
replace(Variable.RANK_NAME, rank.getName());
return this;
}
public MessageBuilder replaceAll(Rank oldRank, Rank rank) {
replace(Variable.RANK, rank.getRank());
replace(Variable.RANK_NAME, rank.getName());
public MessageBuilder replaceRanks(Rank oldRank, Rank rank) {
replaceRanks(rank);
replace(Variable.OLD_RANK, oldRank.getRank());
replace(Variable.OLD_RANK_NAME, oldRank.getName());
return this;
}
public MessageBuilder replaceFromTo(Prestige prestige) {
replace(Variable.FROM, prestige.getFrom());
replace(Variable.TO, prestige.getTo());
return this;
}
/**
* Fails the MessageBuilder if the message is empty.
* if this fails, all subsequent calls to that MessageBuilder will do nothing
@@ -9,6 +9,8 @@ public enum Variable {
OLD_RANK_NAME,
RANK,
RANK_NAME,
FROM,
TO,
MONEY,
MONEY_NEEDED,
AMOUNT,