diff --git a/core-bukkit/build.gradle.kts b/core-bukkit/build.gradle.kts index 0919ccd..25a967f 100644 --- a/core-bukkit/build.gradle.kts +++ b/core-bukkit/build.gradle.kts @@ -13,6 +13,9 @@ dependencies { compileOnly("org.black_ixx:playerpoints:3.2.6") { isTransitive = false } + compileOnly("me.clip:placeholderapi:2.11.5") { + isTransitive = false + } implementation("net.kyori:adventure-platform-bukkit:4.3.2") { exclude(group = "org.jetbrains") diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java index 0afe77b..00d5141 100644 --- a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java @@ -5,6 +5,7 @@ import cn.hamster3.mc.plugin.core.common.data.DisplayMessage; import com.google.gson.JsonObject; import de.tr7zw.changeme.nbtapi.NBTContainer; import de.tr7zw.changeme.nbtapi.NBTItem; +import me.clip.placeholderapi.PlaceholderAPI; import net.kyori.adventure.text.Component; import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer; import net.kyori.adventure.title.Title; @@ -386,6 +387,10 @@ public final class CoreBukkitUtils { @SuppressWarnings("CallToPrintStackTrace") public static void executeCommand(@NotNull Player player, @NotNull String command) { + command = command.replace("%player_name%", player.getName()); + if (Bukkit.getPluginManager().isPluginEnabled("PlaceholderAPI")) { + command = PlaceholderAPI.setPlaceholders(player, command); + } String[] split = command.split(":", 2); try { switch (split[0]) {