add option to disable /ranks, make config clearer
This commit is contained in:
@@ -69,9 +69,11 @@ public class Rankup extends JavaPlugin {
|
||||
}
|
||||
});
|
||||
|
||||
if(config.getBoolean("ranks")) {
|
||||
getCommand("ranks").setExecutor(new RankListCommand(this));
|
||||
}
|
||||
getCommand("rankup").setExecutor(new RankupCommand(this));
|
||||
getCommand("rankup3").setExecutor(new InfoCommand(this));
|
||||
getCommand("ranks").setExecutor(new RankListCommand(this));
|
||||
getServer().getPluginManager().registerEvents(new GuiListener(this), this);
|
||||
}
|
||||
|
||||
@@ -226,7 +228,7 @@ public class Rankup extends JavaPlugin {
|
||||
} else if (!rank.checkRequirements(player)) { // check if they can afford it
|
||||
MessageBuilder builder =
|
||||
getMessage(rank, Message.REQUIREMENTS_NOT_MET)
|
||||
.replaceAll(player, rank);
|
||||
.replaceAll(player, rank, rankups.nextRank(rank));
|
||||
if (economy != null) {
|
||||
double balance = economy.getBalance(player);
|
||||
double amount = rank.getRequirement("money").getAmount();
|
||||
@@ -247,8 +249,8 @@ public class Rankup extends JavaPlugin {
|
||||
for(Requirement requirement : rank.getRequirements()) {
|
||||
replaceRequirements(builder, Variable.AMOUNT, requirement, () -> simpleFormat.format(requirement.getAmount()));
|
||||
replaceRequirements(builder, Variable.AMOUNT_NEEDED, requirement, () -> simpleFormat.format(requirement.getRemaining(player)));
|
||||
replaceRequirements(builder, Variable.PERCENT_LEFT, requirement, () -> percentFormat.format((requirement.getRemaining(player) / requirement.getAmount()) * 100));
|
||||
replaceRequirements(builder, Variable.PERCENT_DONE, requirement, () -> percentFormat.format((1-(requirement.getRemaining(player) / requirement.getAmount())) * 100));
|
||||
replaceRequirements(builder, Variable.PERCENT_LEFT, requirement, () -> percentFormat.format(Math.max(0, (requirement.getRemaining(player) / requirement.getAmount()) * 100)));
|
||||
replaceRequirements(builder, Variable.PERCENT_DONE, requirement, () -> percentFormat.format(Math.min(100, (1-(requirement.getRemaining(player) / requirement.getAmount())) * 100)));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -27,15 +27,15 @@ public class RankListCommand implements CommandExecutor {
|
||||
|
||||
sendHeaderFooter(sender, playerRank, Message.RANKS_HEADER);
|
||||
|
||||
int state = playerRank == null ? 2 : 0;
|
||||
Message message = playerRank == null ? Message.RANKS_INCOMPLETE : Message.RANKS_COMPLETE;
|
||||
Rank rank = rankups.getFirstRank();
|
||||
do {
|
||||
Rank next = rankups.nextRank(rank);
|
||||
if(rank.equals(playerRank)) {
|
||||
sendMessage(sender, 1, rank, next);
|
||||
state = 2;
|
||||
sendMessage(sender, Message.RANKS_CURRENT, rank, next);
|
||||
message = Message.RANKS_COMPLETE;
|
||||
} else {
|
||||
sendMessage(sender, state, rank, next);
|
||||
sendMessage(sender, message, rank, next);
|
||||
}
|
||||
rank = next;
|
||||
} while(!rank.isLastRank());
|
||||
@@ -55,20 +55,10 @@ public class RankListCommand implements CommandExecutor {
|
||||
builder.send(sender);
|
||||
}
|
||||
|
||||
private void sendMessage(CommandSender player, int state, Rank oldRank, Rank rank) {
|
||||
if(state == 0) {
|
||||
replaceRequirements(plugin.getMessage(oldRank, Message.RANKS_COMPLETE)
|
||||
.replaceAll(player, oldRank, rank), player, oldRank)
|
||||
.send(player);
|
||||
} else if(state == 1) {
|
||||
replaceRequirements(plugin.getMessage(oldRank, Message.RANKS_CURRENT)
|
||||
.replaceAll(player, oldRank, rank), player, oldRank)
|
||||
.send(player);
|
||||
} else if(state == 2) {
|
||||
replaceRequirements(plugin.getMessage(oldRank, Message.RANKS_INCOMPLETE)
|
||||
.replaceAll(player, oldRank, rank), player, oldRank)
|
||||
.send(player);
|
||||
}
|
||||
private void sendMessage(CommandSender player, Message message, Rank oldRank, Rank rank) {
|
||||
replaceRequirements(plugin.getMessage(oldRank, message)
|
||||
.replaceAll(player, oldRank, rank), player, oldRank)
|
||||
.send(player);
|
||||
}
|
||||
|
||||
private MessageBuilder replaceRequirements(MessageBuilder builder, CommandSender sender, Rank rank) {
|
||||
|
||||
@@ -53,9 +53,7 @@ public class RankupCommand implements CommandExecutor {
|
||||
case "text":
|
||||
confirming.put(player, System.currentTimeMillis());
|
||||
plugin.getMessage(rank, Message.CONFIRMATION)
|
||||
.replace(Variable.PLAYER, player.getName())
|
||||
.replace(Variable.RANK, rank.getRank())
|
||||
.replace(Variable.RANK_NAME, rank.getName())
|
||||
.replaceAll(player, rank, rankups.nextRank(rank))
|
||||
.send(player);
|
||||
break;
|
||||
case "gui":
|
||||
|
||||
Reference in New Issue
Block a user