feat: 执行指令时检测 PlaceholderAPI 是否存在并替换变量

This commit is contained in:
2024-01-19 16:05:09 +08:00
parent 88f5c9b7d9
commit e3d036a57d
2 changed files with 8 additions and 0 deletions

View File

@@ -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")

View File

@@ -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]) {