1.20.2
This commit is contained in:
parent
6e515f2ea7
commit
a503fda405
10 changed files with 164 additions and 95 deletions
2
pom.xml
2
pom.xml
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<groupId>pk.ajneb97</groupId>
|
||||
<artifactId>PlayerKits2</artifactId>
|
||||
<version>1.20.1</version>
|
||||
<version>1.20.2</version>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>21</maven.compiler.source>
|
||||
|
|
|
|||
|
|
@ -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)));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<String> loreCopy = new ArrayList<>(lore);
|
||||
if(useMiniMessage){
|
||||
List<Component> loreComponent = new ArrayList<>();
|
||||
for(int i=0;i<loreCopy.size();i++) {
|
||||
String line = OtherUtils.replaceGlobalVariables(loreCopy.get(i),player,plugin);
|
||||
loreComponent.add(MiniMessage.miniMessage().deserialize(line).decoration(TextDecoration.ITALIC, false));
|
||||
}
|
||||
meta.lore(loreComponent);
|
||||
MiniMessageUtils.setItemLore(meta,lore,player,plugin);
|
||||
}else{
|
||||
for(int i=0;i<loreCopy.size();i++) {
|
||||
String line = OtherUtils.replaceGlobalVariables(loreCopy.get(i),player,plugin);
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
package pk.ajneb97.managers;
|
||||
|
||||
import me.clip.placeholderapi.PlaceholderAPI;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import net.kyori.adventure.text.format.TextDecoration;
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
|
|
@ -14,6 +10,7 @@ import pk.ajneb97.model.KitRequirements;
|
|||
import pk.ajneb97.model.internal.GiveKitInstructions;
|
||||
import pk.ajneb97.model.internal.PlayerKitsMessageResult;
|
||||
import pk.ajneb97.model.inventory.InventoryPlayer;
|
||||
import pk.ajneb97.utils.MiniMessageUtils;
|
||||
import pk.ajneb97.utils.PlayerUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -36,20 +33,7 @@ public class InventoryRequirementsManager {
|
|||
}
|
||||
|
||||
if(plugin.getConfigsManager().getMainConfigManager().isUseMiniMessage()){
|
||||
List<Component> newLore = new ArrayList<>();
|
||||
PlainTextComponentSerializer plainSerializer = PlainTextComponentSerializer.plainText();
|
||||
for(Component line : meta.lore()){
|
||||
String plainText = plainSerializer.serialize(line);
|
||||
if(plainText.contains("%kit_requirements_message%")){
|
||||
List<String> 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<String> lore = new ArrayList<>();
|
||||
for(String line : meta.getLore()){
|
||||
|
|
|
|||
|
|
@ -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,28 +44,34 @@ 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{
|
||||
if(isPaper && serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_19_R1)){
|
||||
MiniMessageUtils.setCommonItemNameLegacy(kitItem,meta);
|
||||
}else{
|
||||
kitItem.setName(meta.getDisplayName().replace("§", "&"));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if(meta.hasLore()) {
|
||||
List<String> lore = new ArrayList<>();
|
||||
if(useMiniMessage){
|
||||
for (Component line : meta.lore()) {
|
||||
lore.add(MiniMessage.miniMessage().serialize(line));
|
||||
}
|
||||
MiniMessageUtils.setCommonItemLore(lore,meta);
|
||||
}else{
|
||||
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);
|
||||
}
|
||||
if(meta.hasEnchants()) {
|
||||
|
|
@ -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<String> loreCopy = new ArrayList<>(lore);
|
||||
if(useMiniMessage){
|
||||
List<Component> loreComponent = new ArrayList<>();
|
||||
for(int i=0;i<loreCopy.size();i++) {
|
||||
String line = OtherUtils.replaceGlobalVariables(loreCopy.get(i),player,plugin);
|
||||
loreComponent.add(MiniMessage.miniMessage().deserialize(line).decoration(TextDecoration.ITALIC, false));
|
||||
}
|
||||
meta.lore(loreComponent);
|
||||
MiniMessageUtils.setItemLore(meta,lore,player,plugin);
|
||||
}else{
|
||||
for(int i=0;i<loreCopy.size();i++) {
|
||||
String line = OtherUtils.replaceGlobalVariables(loreCopy.get(i),player,plugin);
|
||||
|
|
@ -819,15 +817,7 @@ public class KitItemManager {
|
|||
ItemMeta meta = item.getItemMeta();
|
||||
if(meta.hasDisplayName()){
|
||||
if(useMiniMessage){
|
||||
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);
|
||||
MiniMessageUtils.replaceVariablesItemName(meta,variables);
|
||||
}else{
|
||||
String newName = meta.getDisplayName();
|
||||
for(KitVariable variable : variables){
|
||||
|
|
@ -839,19 +829,7 @@ public class KitItemManager {
|
|||
|
||||
if(meta.hasLore()){
|
||||
if(useMiniMessage){
|
||||
List<Component> lore = meta.lore();
|
||||
List<Component> 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<String> lore = meta.getLore();
|
||||
for(int i=0;i<lore.size();i++){
|
||||
|
|
|
|||
|
|
@ -1,10 +1,9 @@
|
|||
package pk.ajneb97.managers;
|
||||
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import pk.ajneb97.PlayerKits2;
|
||||
import pk.ajneb97.api.PlayerKitsAPI;
|
||||
import pk.ajneb97.utils.MiniMessageUtils;
|
||||
import pk.ajneb97.utils.OtherUtils;
|
||||
|
||||
import java.util.regex.Matcher;
|
||||
|
|
@ -89,11 +88,7 @@ public class MessagesManager {
|
|||
public void sendMessage(CommandSender sender, String message, boolean prefix){
|
||||
if(!message.isEmpty()){
|
||||
if(PlayerKitsAPI.getPlugin().getConfigsManager().getMainConfigManager().isUseMiniMessage()){
|
||||
if(prefix){
|
||||
sender.sendMessage(MiniMessage.miniMessage().deserialize(this.prefix+message));
|
||||
}else{
|
||||
sender.sendMessage(MiniMessage.miniMessage().deserialize(message));
|
||||
}
|
||||
MiniMessageUtils.messagePrefix(sender,message,prefix,this.prefix);
|
||||
}else{
|
||||
if(prefix){
|
||||
sender.sendMessage(getLegacyColoredMessage(this.prefix+message));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package pk.ajneb97.managers.edit;
|
||||
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.event.inventory.ClickType;
|
||||
|
|
@ -20,6 +19,7 @@ import pk.ajneb97.model.inventory.KitInventory;
|
|||
import pk.ajneb97.utils.InventoryItem;
|
||||
import pk.ajneb97.utils.InventoryUtils;
|
||||
import pk.ajneb97.utils.ItemUtils;
|
||||
import pk.ajneb97.utils.MiniMessageUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
|
@ -39,7 +39,7 @@ public class InventoryEditPositionManager {
|
|||
Inventory inv;
|
||||
MainConfigManager mainConfigManager = plugin.getConfigsManager().getMainConfigManager();
|
||||
if(mainConfigManager.isUseMiniMessage()){
|
||||
inv = Bukkit.createInventory(null,kitInventory.getSlots(), MiniMessage.miniMessage().deserialize(kitInventory.getTitle()));
|
||||
inv = MiniMessageUtils.createInventory(kitInventory.getSlots(),kitInventory.getTitle());
|
||||
}else{
|
||||
inv = Bukkit.createInventory(null,kitInventory.getSlots(), MessagesManager.getLegacyColoredMessage(kitInventory.getTitle()));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package pk.ajneb97.utils;
|
||||
|
||||
import net.kyori.adventure.text.minimessage.MiniMessage;
|
||||
import org.bukkit.*;
|
||||
import org.bukkit.command.ConsoleCommandSender;
|
||||
import org.bukkit.entity.EntityType;
|
||||
|
|
@ -22,7 +21,7 @@ public class ActionUtils {
|
|||
|
||||
public static void message(Player player,String actionLine) {
|
||||
if(PlayerKitsAPI.getPlugin().getConfigsManager().getMainConfigManager().isUseMiniMessage()){
|
||||
player.sendMessage(MiniMessage.miniMessage().deserialize(actionLine));
|
||||
MiniMessageUtils.message(player,actionLine);
|
||||
}else{
|
||||
player.sendMessage(MessagesManager.getLegacyColoredMessage(actionLine));
|
||||
}
|
||||
|
|
|
|||
129
src/main/java/pk/ajneb97/utils/MiniMessageUtils.java
Normal file
129
src/main/java/pk/ajneb97/utils/MiniMessageUtils.java
Normal file
|
|
@ -0,0 +1,129 @@
|
|||
package pk.ajneb97.utils;
|
||||
|
||||
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 net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
||||
import net.kyori.adventure.title.Title;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.command.CommandSender;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.inventory.Inventory;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import pk.ajneb97.PlayerKits2;
|
||||
import pk.ajneb97.managers.InventoryRequirementsManager;
|
||||
import pk.ajneb97.managers.MessagesManager;
|
||||
import pk.ajneb97.model.internal.KitVariable;
|
||||
import pk.ajneb97.model.item.KitItem;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class MiniMessageUtils {
|
||||
|
||||
public static void messagePrefix(CommandSender sender, String message, boolean isPrefix, String prefix){
|
||||
if(isPrefix){
|
||||
sender.sendMessage(MiniMessage.miniMessage().deserialize(prefix+message));
|
||||
}else{
|
||||
sender.sendMessage(MiniMessage.miniMessage().deserialize(message));
|
||||
}
|
||||
}
|
||||
|
||||
public static void title(Player player, String title, String subtitle){
|
||||
player.showTitle(Title.title(
|
||||
MiniMessage.miniMessage().deserialize(title),MiniMessage.miniMessage().deserialize(subtitle)
|
||||
));
|
||||
}
|
||||
|
||||
public static void actionbar(Player player, String message){
|
||||
player.sendActionBar(MiniMessage.miniMessage().deserialize(message));
|
||||
}
|
||||
|
||||
public static void message(Player player,String message){
|
||||
player.sendMessage(MiniMessage.miniMessage().deserialize(message));
|
||||
}
|
||||
|
||||
public static Inventory createInventory(int slots, String title){
|
||||
return Bukkit.createInventory(null,slots, MiniMessage.miniMessage().deserialize(title));
|
||||
}
|
||||
|
||||
public static void setCommonItemName(KitItem commonItem, ItemMeta meta){
|
||||
commonItem.setName(MiniMessage.miniMessage().serialize(meta.displayName()));
|
||||
}
|
||||
|
||||
public static void setCommonItemLore(List<String> 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<String> 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<String> lore, Player player, PlayerKits2 plugin){
|
||||
List<Component> loreComponent = new ArrayList<>();
|
||||
for(int i=0;i<lore.size();i++) {
|
||||
String line = OtherUtils.replaceGlobalVariables(lore.get(i),player,plugin);
|
||||
loreComponent.add(MiniMessage.miniMessage().deserialize(line).decoration(TextDecoration.ITALIC, false));
|
||||
}
|
||||
meta.lore(loreComponent);
|
||||
}
|
||||
|
||||
public static void replaceVariablesItemName(ItemMeta meta, ArrayList<KitVariable> 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<KitVariable> variables){
|
||||
List<Component> lore = meta.lore();
|
||||
List<Component> 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<Component> newLore = new ArrayList<>();
|
||||
PlainTextComponentSerializer plainSerializer = PlainTextComponentSerializer.plainText();
|
||||
for(Component line : meta.lore()){
|
||||
String plainText = plainSerializer.serialize(line);
|
||||
if(plainText.contains("%kit_requirements_message%")){
|
||||
List<String> 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);
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue