diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeCosmetic.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeCosmetic.java index 5a67fea1..3f2e03d4 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeCosmetic.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeCosmetic.java @@ -153,13 +153,12 @@ public class TypeCosmetic extends Type { List processedLore = new ArrayList<>(); if (itemMeta.hasDisplayName()) { - if (Hooks.isActiveHook("PlaceholderAPI")) itemMeta.setDisplayName(PlaceholderAPI.setPlaceholders(user.getPlayer(), itemMeta.getDisplayName())); + itemMeta.setDisplayName(Hooks.processPlaceholders(user.getPlayer(), itemMeta.getDisplayName())); } if (itemMeta.hasLore()) { for (String loreLine : itemMeta.getLore()) { - if (Hooks.isActiveHook("PlaceholderAPI")) loreLine = PlaceholderAPI.setPlaceholders(user.getPlayer(), loreLine); - processedLore.add(loreLine); + processedLore.add(Hooks.processPlaceholders(user.getPlayer(), loreLine)); } } itemMeta.setLore(processedLore); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeEmpty.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeEmpty.java index 304ea9f2..8790986f 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeEmpty.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/gui/type/types/TypeEmpty.java @@ -59,14 +59,12 @@ public class TypeEmpty extends Type { ItemMeta itemMeta = itemStack.getItemMeta(); if (itemMeta.hasDisplayName()) { - if (Hooks.isActiveHook("PlaceholderAPI")) itemMeta.setDisplayName(PlaceholderAPI.setPlaceholders(user.getPlayer(), itemMeta.getDisplayName())); + itemMeta.setDisplayName(Hooks.processPlaceholders(user.getPlayer(), itemMeta.getDisplayName())); } if (itemMeta.hasLore()) { for (String loreLine : itemMeta.getLore()) { - if (Hooks.isActiveHook("PlaceholderAPI")) - loreLine = PlaceholderAPI.setPlaceholders(user.getPlayer(), loreLine); - processedLore.add(loreLine); + processedLore.add(Hooks.processPlaceholders(user.getPlayer(), loreLine)); } } itemStack.setItemMeta(itemMeta); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java index 43f35232..59d28bf5 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/hooks/Hooks.java @@ -4,8 +4,10 @@ import com.hibiscusmc.hmccosmetics.HMCCosmeticsPlugin; import com.hibiscusmc.hmccosmetics.hooks.items.*; import com.hibiscusmc.hmccosmetics.hooks.misc.*; import com.hibiscusmc.hmccosmetics.hooks.placeholders.HookPlaceholderAPI; +import me.clip.placeholderapi.PlaceholderAPI; import org.bukkit.Bukkit; import org.bukkit.Material; +import org.bukkit.OfflinePlayer; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -70,6 +72,12 @@ public class Hooks { return hook.getItem(split[1]); } + @NotNull + public static String processPlaceholders(OfflinePlayer player, String raw) { + if (getHook("PlaceholderAPI").isActive()) return PlaceholderAPI.setPlaceholders(player, raw); + return raw; + } + public static boolean isActiveHook(String id) { Hook hook = getHook(id); if (hook == null) return false; diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java index d9f7d34b..efcb941e 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/user/CosmeticUser.java @@ -220,7 +220,7 @@ public class CosmeticUser { if (skullMeta.getPersistentDataContainer().has(InventoryUtils.getSkullOwner(), PersistentDataType.STRING)) { String owner = skullMeta.getPersistentDataContainer().get(InventoryUtils.getSkullOwner(), PersistentDataType.STRING); - if (Hooks.isActiveHook("PlaceholderAPI")) owner = PlaceholderAPI.setPlaceholders(getPlayer(), owner); + owner = Hooks.processPlaceholders(getPlayer(), owner); skullMeta.setOwningPlayer(Bukkit.getOfflinePlayer(owner)); //skullMeta.getPersistentDataContainer().remove(InventoryUtils.getSkullOwner()); // Don't really need this? @@ -228,7 +228,7 @@ public class CosmeticUser { if (skullMeta.getPersistentDataContainer().has(InventoryUtils.getSkullTexture(), PersistentDataType.STRING)) { String texture = skullMeta.getPersistentDataContainer().get(InventoryUtils.getSkullTexture(), PersistentDataType.STRING); - if (Hooks.isActiveHook("PlaceholderAPI")) texture = PlaceholderAPI.setPlaceholders(getPlayer(), texture); + texture = Hooks.processPlaceholders(getPlayer(), texture); Bukkit.getUnsafe().modifyItemStack(item, "{SkullOwner:{Id:[I;0,0,0,0],Properties:{textures:[{Value:\"" + texture + "\"}]}}}"); @@ -242,14 +242,12 @@ public class CosmeticUser { if (itemMeta.hasLore()) { for (String loreLine : itemMeta.getLore()) { - if (Hooks.isActiveHook("PlaceholderAPI")) loreLine = PlaceholderAPI.setPlaceholders(getPlayer(), loreLine); - processedLore.add(loreLine); + processedLore.add(Hooks.processPlaceholders(getPlayer(), loreLine)); } } if (itemMeta.hasDisplayName()) { String displayName = itemMeta.getDisplayName(); - if (Hooks.isActiveHook("PlaceholderAPI")) displayName = PlaceholderAPI.setPlaceholders(getPlayer(), displayName); - itemMeta.setDisplayName(displayName); + itemMeta.setDisplayName(Hooks.processPlaceholders(getPlayer(), displayName)); } itemMeta.setLore(processedLore); diff --git a/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java b/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java index fc488737..74f05401 100644 --- a/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java +++ b/common/src/main/java/com/hibiscusmc/hmccosmetics/util/MessagesUtil.java @@ -104,7 +104,7 @@ public class MessagesUtil { if (!MESSAGES.containsKey(key)) return null; if (MESSAGES.get(key) == null) return null; String message = MESSAGES.get(key); - if (Hooks.isActiveHook("PlaceholderAPI") && player != null) message = PlaceholderAPI.setPlaceholders(player, message); + if (player != null) message = Hooks.processPlaceholders(player, message); message = message.replaceAll("%prefix%", prefix); if (placeholders != null ) { return Adventure.MINI_MESSAGE.deserialize(message, placeholders); @@ -125,7 +125,7 @@ public class MessagesUtil { @NotNull public static Component processStringNoKey(Player player, String message, TagResolver placeholders) { message = message.replaceAll("%prefix%", prefix); - if (Hooks.isActiveHook("PlaceholderAPI") && player != null) message = PlaceholderAPI.setPlaceholders(player, message); + if (player != null) message = Hooks.processPlaceholders(player, message); if (placeholders != null ) { return Adventure.MINI_MESSAGE.deserialize(message, placeholders); } @@ -134,7 +134,7 @@ public class MessagesUtil { public static String processStringNoKeyString(Player player, String message) { message = message.replaceAll("%prefix%", prefix); - if (Hooks.isActiveHook("PlaceholderAPI") && player != null) message = PlaceholderAPI.setPlaceholders(player, message); + if (player != null) message = Hooks.processPlaceholders(player, message); return message; }