From baad24eb34d57cf46b9e891baa8da7972d5f0e62 Mon Sep 17 00:00:00 2001 From: alan67160 <20385640+alan67160@users.noreply.github.com> Date: Fri, 22 Sep 2023 14:44:39 +0800 Subject: [PATCH] add placeholderapi support on CombinedMap item lore --- pom.xml | 10 ++++++++++ .../objectholders/CombinedMapItemHandler.java | 10 ++++++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 9ed85f4..d1c417a 100644 --- a/pom.xml +++ b/pom.xml @@ -204,6 +204,10 @@ loohp-repo https://repo.loohpjames.com/repository + + placeholderapi + https://repo.extendedclip.com/content/repositories/placeholderapi/ + @@ -261,5 +265,11 @@ 7.18.6 compile + + me.clip + placeholderapi + 2.9.2 + provided + diff --git a/src/main/java/com/loohp/imageframe/objectholders/CombinedMapItemHandler.java b/src/main/java/com/loohp/imageframe/objectholders/CombinedMapItemHandler.java index 1d1f0b0..875aa04 100644 --- a/src/main/java/com/loohp/imageframe/objectholders/CombinedMapItemHandler.java +++ b/src/main/java/com/loohp/imageframe/objectholders/CombinedMapItemHandler.java @@ -25,6 +25,8 @@ import com.loohp.imageframe.utils.PlayerUtils; import com.loohp.imageframe.utils.UUIDUtils; import io.github.bananapuncher714.nbteditor.NBTEditor; +import me.clip.placeholderapi.PlaceholderAPI; +import net.kyori.adventure.text.Component; import org.bukkit.Bukkit; import org.bukkit.Location; import org.bukkit.Material; @@ -85,14 +87,18 @@ public ItemStack getCombinedMap(ImageMap imageMap) { .replace("{CreatorName}", imageMap.getCreatorName()) .replace("{CreatorUUID}", imageMap.getCreator().toString()) .replace("{TimeCreated}", ImageFrame.dateFormat.format(new Date(imageMap.getCreationTime())))); - meta.setLore(ImageFrame.combinedMapItemLoreFormat.stream().map(each -> each + List lore = ImageFrame.combinedMapItemLoreFormat.stream().map(each -> each .replace("{ImageID}", imageMap.getImageIndex() + "") .replace("{Name}", imageMap.getName()) .replace("{Width}", imageMap.getWidth() + "") .replace("{Height}", imageMap.getHeight() + "") .replace("{CreatorName}", imageMap.getCreatorName()) .replace("{CreatorUUID}", imageMap.getCreator().toString()) - .replace("{TimeCreated}", ImageFrame.dateFormat.format(new Date(imageMap.getCreationTime())))).collect(Collectors.toList())); + .replace("{TimeCreated}", ImageFrame.dateFormat.format(new Date(imageMap.getCreationTime())))).collect(Collectors.toList()); + if ((!lore.isEmpty()) && (Bukkit.getPluginManager().getPlugin("PlaceholderAPI") != null)) { + lore = lore.stream().map(each -> PlaceholderAPI.setPlaceholders(null, each)).collect(Collectors.toList()); + } + meta.setLore(lore); itemStack.setItemMeta(meta); return NBTEditor.set(itemStack, imageMap.getImageIndex(), COMBINED_MAP_KEY); }