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);
}