support placeholder api in messages and requirement placeholders in the title

This commit is contained in:
okx-code
2019-03-17 23:16:17 +00:00
parent 0756d4a155
commit 240b80c814
6 changed files with 22 additions and 10 deletions
+2
View File
@@ -127,6 +127,8 @@ public class Rankup extends JavaPlugin {
autoRankup.runTaskTimer(this, time, time);
}
if (config.getInt("version") < 3) {
getLogger().severe("You are using an outdated config!");
getLogger().severe("This means that some things might not work!");
+4 -4
View File
@@ -50,10 +50,10 @@ public class Gui implements InventoryHolder {
gui.cancel = cancel;
Inventory inventory = Bukkit.createInventory(gui, items.length,
plugin.getMessage(oldRank, gui.prestige ? Message.PRESTIGE_TITLE : Message.TITLE)
.replaceRanks(player, oldRank, rank)
.replaceFromTo(oldRank)
.toString());
plugin.replaceMoneyRequirements(
plugin.getMessage(oldRank, gui.prestige ? Message.PRESTIGE_TITLE : Message.TITLE)
.replaceRanks(player, oldRank, rank)
.replaceFromTo(oldRank), player, rank).toString());
inventory.setContents(items);
gui.inventory = inventory;
return gui;
@@ -1,5 +1,7 @@
package sh.okx.rankup.messages;
import me.clip.placeholderapi.PlaceholderAPI;
import org.apache.commons.lang3.Validate;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.command.CommandSender;
@@ -24,7 +26,9 @@ public class MessageBuilder {
}
private static MessageBuilder of(ConfigurationSection config, String message) {
return new MessageBuilder(ChatColor.translateAlternateColorCodes('&', config.getString(message)));
String string = config.getString(message);
Validate.notNull(string, "Configuration message '" + message + "' not found!");
return new MessageBuilder(ChatColor.translateAlternateColorCodes('&', string));
}
public MessageBuilder replace(Variable variable, Object value) {
@@ -99,7 +103,11 @@ public class MessageBuilder {
}
public void send(CommandSender sender) {
sender.sendMessage(message);
String msg = message;
if (sender instanceof Player) {
msg = PlaceholderAPI.setPlaceholders((Player) sender, msg);
}
sender.sendMessage(msg);
}
/**