diff --git a/pom.xml b/pom.xml
index 2ca7205..7dd1b02 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
com.backtobedrock
Rewardslite
- 3.1.3
+ 3.1.4-papi-SNAPSHOT
jar
RewardsLite
diff --git a/src/com/backtobedrock/rewardslite/Rewardslite.java b/src/com/backtobedrock/rewardslite/Rewardslite.java
index af2c863..a686caf 100644
--- a/src/com/backtobedrock/rewardslite/Rewardslite.java
+++ b/src/com/backtobedrock/rewardslite/Rewardslite.java
@@ -40,6 +40,8 @@ public final class Rewardslite extends JavaPlugin {
private final Map openInterfaces = new HashMap<>();
private UpdateChecker updateChecker;
+ public static boolean PAPI_ENABLED = false;
+
//configurations
private Commands commands;
private Configurations configurations;
@@ -96,6 +98,7 @@ private void initializeDependencies() {
//PAPI
if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null) {
new PlaceholdersRewardsLite().register();
+ PAPI_ENABLED = true;
}
//EssentialsX
diff --git a/src/com/backtobedrock/rewardslite/domain/Reward.java b/src/com/backtobedrock/rewardslite/domain/Reward.java
index 1d73805..a003fa7 100644
--- a/src/com/backtobedrock/rewardslite/domain/Reward.java
+++ b/src/com/backtobedrock/rewardslite/domain/Reward.java
@@ -116,7 +116,7 @@ public boolean redeemReward(Player player, boolean manual) {
put("player", player.getName());
put("player_uuid", player.getUniqueId().toString());
}};
- this.rewards.forEach(r -> Bukkit.getScheduler().runTask(this.plugin, () -> Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), MessageUtils.replacePlaceholders(r, placeholders))));
+ this.rewards.forEach(r -> Bukkit.getScheduler().runTask(this.plugin, () -> Bukkit.dispatchCommand(Bukkit.getServer().getConsoleSender(), MessageUtils.replaceAllPlaceholders(player, r, placeholders))));
this.notify(player);
return true;
diff --git a/src/com/backtobedrock/rewardslite/utilities/MessageUtils.java b/src/com/backtobedrock/rewardslite/utilities/MessageUtils.java
index 6973005..d3048b0 100644
--- a/src/com/backtobedrock/rewardslite/utilities/MessageUtils.java
+++ b/src/com/backtobedrock/rewardslite/utilities/MessageUtils.java
@@ -3,7 +3,9 @@
import com.backtobedrock.rewardslite.Rewardslite;
import com.backtobedrock.rewardslite.domain.enumerations.MinecraftVersion;
import com.backtobedrock.rewardslite.domain.enumerations.TimePattern;
+import me.clip.placeholderapi.PlaceholderAPI;
import net.md_5.bungee.api.ChatColor;
+import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.plugin.java.JavaPlugin;
@@ -133,6 +135,14 @@ public static String getTimeFromTicks(long amount, TimePattern pattern) {
return sb.toString();
}
+ public static String replaceAllPlaceholders(Player player, String text, Map internalPlaceholders) {
+ String result = replacePlaceholders(text, internalPlaceholders);
+ if (Rewardslite.PAPI_ENABLED) {
+ result = PlaceholderAPI.setPlaceholders(player, result);
+ }
+ return result;
+ }
+
public static String replacePlaceholders(String string, Map placeholders) {
for (Map.Entry entry : placeholders.entrySet()) {
string = string.replaceAll("%" + entry.getKey().toLowerCase() + "%", entry.getValue());