diff --git a/pom.xml b/pom.xml index c30fec9..8f2778e 100644 --- a/pom.xml +++ b/pom.xml @@ -64,6 +64,10 @@ + + placeholderapi + https://repo.extendedclip.com/content/repositories/placeholderapi/ + papermc-repo https://repo.papermc.io/repository/maven-public/ @@ -80,6 +84,12 @@ + + me.clip + placeholderapi + 2.11.6 + provided + com.technicjelle UpdateChecker diff --git a/src/main/java/com/technicjelle/bluemapcustomskinprovider/BlueMapCustomSkinProvider.java b/src/main/java/com/technicjelle/bluemapcustomskinprovider/BlueMapCustomSkinProvider.java index 13ddc17..f5b25c7 100644 --- a/src/main/java/com/technicjelle/bluemapcustomskinprovider/BlueMapCustomSkinProvider.java +++ b/src/main/java/com/technicjelle/bluemapcustomskinprovider/BlueMapCustomSkinProvider.java @@ -4,6 +4,7 @@ import de.bluecolored.bluemap.api.BlueMapAPI; import de.bluecolored.bluemap.api.plugin.SkinProvider; import org.bstats.bukkit.Metrics; +import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; import org.jetbrains.annotations.NotNull; @@ -56,6 +57,7 @@ public void onEnable() { .replace("{UUID}", uuid) .replace("{USERNAME}", username) .replace("{UUID-}", uuid.replace("-", "")); + localUrl = PAPIUtil.processPAPI(Bukkit.getPlayer(playerUUID), localUrl); getLogger().info("Downloading skin for " + username + " from " + localUrl); BufferedImage img = downloadImage(localUrl); return Optional.ofNullable(img); diff --git a/src/main/java/com/technicjelle/bluemapcustomskinprovider/PAPIUtil.java b/src/main/java/com/technicjelle/bluemapcustomskinprovider/PAPIUtil.java new file mode 100644 index 0000000..e2ff170 --- /dev/null +++ b/src/main/java/com/technicjelle/bluemapcustomskinprovider/PAPIUtil.java @@ -0,0 +1,16 @@ +package com.technicjelle.bluemapcustomskinprovider; + +import me.clip.placeholderapi.PlaceholderAPI; +import org.bukkit.Bukkit; +import org.bukkit.entity.Player; + +public final class PAPIUtil { + private PAPIUtil() {} + + public static String processPAPI(Player player, String str) { + if (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null && player != null) { + return PlaceholderAPI.setPlaceholders(player, str); + } + else return str; + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 8191566..51452f1 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,3 +1,5 @@ # Available placeholders: {UUID},{UUID-},{USERNAME} # {UUID-}: UUID of the player without "-" +# Supports PAPI placeholders! +# Example: %player_displayname% (don't forget to install extension in PAPI -> /papi ecloud download Player) url: "https://minotar.net/skin/{UUID}" diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 28a996d..0aa26bb 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -4,6 +4,8 @@ main: com.technicjelle.bluemapcustomskinprovider.BlueMapCustomSkinProvider api-version: 1.13 depend: - BlueMap +softdepend: + - PlaceholderAPI authors: [ TechnicJelle ] description: ${project.description} website: ${project.url}