diff --git a/pom.xml b/pom.xml
index b9116a2..2ab77cd 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
pk.ajneb97
PlayerKits2
- 1.20.1
+ 1.20.2
21
diff --git a/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java b/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
index 871615c..4c0a3f0 100644
--- a/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
+++ b/src/main/java/pk/ajneb97/libs/actionbar/ActionBarAPI.java
@@ -1,6 +1,5 @@
package pk.ajneb97.libs.actionbar;
-import net.kyori.adventure.text.minimessage.MiniMessage;
import net.md_5.bungee.api.ChatMessageType;
import net.md_5.bungee.api.chat.TextComponent;
import org.bukkit.Bukkit;
@@ -9,6 +8,7 @@ import org.bukkit.scheduler.BukkitRunnable;
import pk.ajneb97.PlayerKits2;
import pk.ajneb97.api.PlayerKitsAPI;
import pk.ajneb97.managers.MessagesManager;
+import pk.ajneb97.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils;
import java.lang.reflect.Field;
@@ -21,7 +21,7 @@ public class ActionBarAPI
public static void sendActionBar(Player player, String message) {
if(OtherUtils.isNew()) {
if(PlayerKitsAPI.getPlugin().getConfigsManager().getMainConfigManager().isUseMiniMessage()){
- player.sendActionBar(MiniMessage.miniMessage().deserialize(message));
+ MiniMessageUtils.actionbar(player,message);
}else{
player.spigot().sendMessage(ChatMessageType.ACTION_BAR, TextComponent.fromLegacyText(MessagesManager.getLegacyColoredMessage(message)));
}
diff --git a/src/main/java/pk/ajneb97/libs/titles/TitleAPI.java b/src/main/java/pk/ajneb97/libs/titles/TitleAPI.java
index 3df89c5..54eebb2 100644
--- a/src/main/java/pk/ajneb97/libs/titles/TitleAPI.java
+++ b/src/main/java/pk/ajneb97/libs/titles/TitleAPI.java
@@ -1,13 +1,12 @@
package pk.ajneb97.libs.titles;
-import net.kyori.adventure.text.minimessage.MiniMessage;
-import net.kyori.adventure.title.Title;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.entity.Player;
import org.bukkit.event.Listener;
import pk.ajneb97.api.PlayerKitsAPI;
import pk.ajneb97.managers.MessagesManager;
+import pk.ajneb97.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils;
import java.lang.reflect.Constructor;
@@ -45,9 +44,7 @@ public class TitleAPI implements Listener {
}
if(PlayerKitsAPI.getPlugin().getConfigsManager().getMainConfigManager().isUseMiniMessage()){
- player.showTitle(Title.title(
- MiniMessage.miniMessage().deserialize(title),MiniMessage.miniMessage().deserialize(subtitle)
- ));
+ MiniMessageUtils.title(player,title,subtitle);
}else{
player.sendTitle(MessagesManager.getLegacyColoredMessage(title), MessagesManager.getLegacyColoredMessage(subtitle), fadeIn, stay, fadeOut);
}
diff --git a/src/main/java/pk/ajneb97/managers/InventoryManager.java b/src/main/java/pk/ajneb97/managers/InventoryManager.java
index 8932849..77799d7 100644
--- a/src/main/java/pk/ajneb97/managers/InventoryManager.java
+++ b/src/main/java/pk/ajneb97/managers/InventoryManager.java
@@ -1,11 +1,6 @@
package pk.ajneb97.managers;
-import net.kyori.adventure.text.Component;
-import net.kyori.adventure.text.format.TextDecoration;
-import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Bukkit;
-import org.bukkit.Material;
-import org.bukkit.command.ConsoleCommandSender;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.inventory.ClickType;
@@ -24,10 +19,7 @@ import pk.ajneb97.model.inventory.InventoryPlayer;
import pk.ajneb97.model.inventory.ItemKitInventory;
import pk.ajneb97.model.inventory.KitInventory;
import pk.ajneb97.model.item.KitItem;
-import pk.ajneb97.utils.ActionUtils;
-import pk.ajneb97.utils.ItemUtils;
-import pk.ajneb97.utils.OtherUtils;
-import pk.ajneb97.utils.PlayerUtils;
+import pk.ajneb97.utils.*;
import java.util.ArrayList;
import java.util.Arrays;
@@ -97,7 +89,7 @@ public class InventoryManager {
}
Inventory inv;
if(mainConfigManager.isUseMiniMessage()){
- inv = Bukkit.createInventory(null,kitInventory.getSlots(), MiniMessage.miniMessage().deserialize(title));
+ inv = MiniMessageUtils.createInventory(kitInventory.getSlots(),title);
}else{
inv = Bukkit.createInventory(null,kitInventory.getSlots(), MessagesManager.getLegacyColoredMessage(title));
}
@@ -364,7 +356,7 @@ public class InventoryManager {
if(name != null){
name = OtherUtils.replaceGlobalVariables(name,player,plugin);
if(useMiniMessage){
- meta.displayName(MiniMessage.miniMessage().deserialize(name).decoration(TextDecoration.ITALIC, false));
+ MiniMessageUtils.setItemName(meta,name);
}else{
meta.setDisplayName(MessagesManager.getLegacyColoredMessage(name));
}
@@ -373,12 +365,7 @@ public class InventoryManager {
if(lore != null) {
List loreCopy = new ArrayList<>(lore);
if(useMiniMessage){
- List loreComponent = new ArrayList<>();
- for(int i=0;i newLore = new ArrayList<>();
- PlainTextComponentSerializer plainSerializer = PlainTextComponentSerializer.plainText();
- for(Component line : meta.lore()){
- String plainText = plainSerializer.serialize(line);
- if(plainText.contains("%kit_requirements_message%")){
- List message = replaceRequirementsMessageVariable(kitName,player);
- for(String m : message){
- newLore.add(MiniMessage.miniMessage().deserialize(m).decoration(TextDecoration.ITALIC, false));
- }
- }else{
- newLore.add(line);
- }
- }
- meta.lore(newLore);
+ MiniMessageUtils.setRequirementsMessage(meta,kitName,player,this);
}else{
List lore = new ArrayList<>();
for(String line : meta.getLore()){
diff --git a/src/main/java/pk/ajneb97/managers/KitItemManager.java b/src/main/java/pk/ajneb97/managers/KitItemManager.java
index 6880e30..7d33be2 100644
--- a/src/main/java/pk/ajneb97/managers/KitItemManager.java
+++ b/src/main/java/pk/ajneb97/managers/KitItemManager.java
@@ -1,9 +1,5 @@
package pk.ajneb97.managers;
-import net.kyori.adventure.text.Component;
-import net.kyori.adventure.text.TextReplacementConfig;
-import net.kyori.adventure.text.format.TextDecoration;
-import net.kyori.adventure.text.minimessage.MiniMessage;
import org.bukkit.Color;
import org.bukkit.NamespacedKey;
import org.bukkit.configuration.file.FileConfiguration;
@@ -20,6 +16,7 @@ import pk.ajneb97.model.Kit;
import pk.ajneb97.model.internal.KitVariable;
import pk.ajneb97.model.item.*;
import pk.ajneb97.utils.ItemUtils;
+import pk.ajneb97.utils.MiniMessageUtils;
import pk.ajneb97.utils.OtherUtils;
import pk.ajneb97.utils.ServerVersion;
@@ -47,26 +44,32 @@ public class KitItemManager {
ServerVersion serverVersion = PlayerKits2.serverVersion;
boolean useMiniMessage = plugin.getConfigsManager().getMainConfigManager().isUseMiniMessage();
+ boolean isPaper = plugin.getDependencyManager().isPaper();
if(item.hasItemMeta()) {
ItemMeta meta = item.getItemMeta();
if(meta.hasDisplayName()) {
if(useMiniMessage){
- kitItem.setName(MiniMessage.miniMessage().serialize(meta.displayName()));
+ MiniMessageUtils.setCommonItemName(kitItem,meta);
}else{
- kitItem.setName(meta.getDisplayName().replace("§", "&"));
+ if(isPaper && serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_19_R1)){
+ MiniMessageUtils.setCommonItemNameLegacy(kitItem,meta);
+ }else{
+ kitItem.setName(meta.getDisplayName().replace("§", "&"));
+ }
}
-
}
if(meta.hasLore()) {
List lore = new ArrayList<>();
if(useMiniMessage){
- for (Component line : meta.lore()) {
- lore.add(MiniMessage.miniMessage().serialize(line));
- }
+ MiniMessageUtils.setCommonItemLore(lore,meta);
}else{
- for(String l : meta.getLore()) {
- lore.add(l.replace("§", "&"));
+ if(isPaper && serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_19_R1)){
+ MiniMessageUtils.setCommonItemLoreLegacy(lore,meta);
+ }else{
+ for(String l : meta.getLore()) {
+ lore.add(l.replace("§", "&"));
+ }
}
}
kitItem.setLore(lore);
@@ -230,7 +233,7 @@ public class KitItemManager {
if(name != null){
name = OtherUtils.replaceGlobalVariables(name,player,plugin);
if(useMiniMessage){
- meta.displayName(MiniMessage.miniMessage().deserialize(name).decoration(TextDecoration.ITALIC, false));
+ MiniMessageUtils.setItemName(meta,name);
}else{
meta.setDisplayName(MessagesManager.getLegacyColoredMessage(name));
}
@@ -240,12 +243,7 @@ public class KitItemManager {
if(lore != null) {
List loreCopy = new ArrayList<>(lore);
if(useMiniMessage){
- List loreComponent = new ArrayList<>();
- for(int i=0;i lore = meta.lore();
- List newLore = new ArrayList<>();
- for(Component c : lore){
- Component newComponent = c;
- for(KitVariable variable : variables){
- newComponent = newComponent.replaceText(TextReplacementConfig.builder()
- .matchLiteral(variable.getVariable())
- .replacement(MiniMessage.miniMessage().deserialize(variable.getValue()))
- .build());
- }
- newLore.add(newComponent);
- }
- meta.lore(newLore);
+ MiniMessageUtils.replaceVariablesItemLore(meta,variables);
}else{
List lore = meta.getLore();
for(int i=0;i lore, ItemMeta meta){
+ for (Component line : meta.lore()) {
+ lore.add(MiniMessage.miniMessage().serialize(line));
+ }
+ }
+
+ public static void setCommonItemNameLegacy(KitItem commonItem, ItemMeta meta){
+ commonItem.setName(LegacyComponentSerializer.legacyAmpersand().serialize(meta.displayName()));
+ }
+
+ public static void setCommonItemLoreLegacy(List lore, ItemMeta meta){
+ for (Component line : meta.lore()) {
+ lore.add(LegacyComponentSerializer.legacyAmpersand().serialize(line));
+ }
+ }
+
+ public static void setItemName(ItemMeta meta,String name){
+ meta.displayName(MiniMessage.miniMessage().deserialize(name).decoration(TextDecoration.ITALIC, false));
+ }
+
+ public static void setItemLore(ItemMeta meta, List lore, Player player, PlayerKits2 plugin){
+ List loreComponent = new ArrayList<>();
+ for(int i=0;i variables){
+ Component name = meta.displayName();
+ Component newName = name;
+ for(KitVariable variable : variables){
+ newName = newName.replaceText(TextReplacementConfig.builder()
+ .matchLiteral(variable.getVariable())
+ .replacement(MiniMessage.miniMessage().deserialize(variable.getValue()))
+ .build());
+ }
+ meta.displayName(newName);
+ }
+
+ public static void replaceVariablesItemLore(ItemMeta meta,ArrayList variables){
+ List lore = meta.lore();
+ List newLore = new ArrayList<>();
+ for(Component c : lore){
+ Component newComponent = c;
+ for(KitVariable variable : variables){
+ newComponent = newComponent.replaceText(TextReplacementConfig.builder()
+ .matchLiteral(variable.getVariable())
+ .replacement(MiniMessage.miniMessage().deserialize(variable.getValue()))
+ .build());
+ }
+ newLore.add(newComponent);
+ }
+ meta.lore(newLore);
+ }
+
+ public static void setRequirementsMessage(ItemMeta meta, String kitName, Player player, InventoryRequirementsManager inventoryRequirementsManager){
+ List newLore = new ArrayList<>();
+ PlainTextComponentSerializer plainSerializer = PlainTextComponentSerializer.plainText();
+ for(Component line : meta.lore()){
+ String plainText = plainSerializer.serialize(line);
+ if(plainText.contains("%kit_requirements_message%")){
+ List message = inventoryRequirementsManager.replaceRequirementsMessageVariable(kitName,player);
+ for(String m : message){
+ newLore.add(MiniMessage.miniMessage().deserialize(m).decoration(TextDecoration.ITALIC, false));
+ }
+ }else{
+ newLore.add(line);
+ }
+ }
+ meta.lore(newLore);
+ }
+}