From d422aa78a8672e0b939557cf0fc028434e2e69d2 Mon Sep 17 00:00:00 2001 From: AlexandreChaussard Date: Sun, 4 Aug 2024 12:56:36 +0200 Subject: [PATCH] [MCPets 4.1.4] Fixing MCPets for 1.21 API changes --- pom.xml | 6 ++-- .../java/fr/nocsy/mcpets/data/Category.java | 24 +++++++++------- src/main/java/fr/nocsy/mcpets/data/Items.java | 28 +++++++++---------- src/main/java/fr/nocsy/mcpets/data/Pet.java | 12 ++++---- .../java/fr/nocsy/mcpets/data/PetSkin.java | 6 ++-- .../mcpets/data/config/CategoryConfig.java | 2 +- .../nocsy/mcpets/data/config/PetConfig.java | 2 +- .../nocsy/mcpets/data/editor/EditorItems.java | 5 ++-- .../data/inventories/CategoriesMenu.java | 6 ++-- .../nocsy/mcpets/data/livingpets/PetFood.java | 6 ++-- .../listeners/CategoryMenuListener.java | 2 +- .../listeners/PetInteractionMenuListener.java | 4 +-- .../mcpets/listeners/PetMenuListener.java | 4 +-- .../listeners/VanillaDismountListener.java | 2 +- src/main/resources/plugin.yml | 2 +- 15 files changed, 57 insertions(+), 54 deletions(-) diff --git a/pom.xml b/pom.xml index 4e87a8a..a16e97d 100644 --- a/pom.xml +++ b/pom.xml @@ -97,13 +97,13 @@ org.spigotmc spigot-api - 1.20.2-R0.1-SNAPSHOT + 1.21-R0.1-SNAPSHOT provided io.papermc.paper paper-api - 1.20.4-R0.1-SNAPSHOT + 1.21-R0.1-SNAPSHOT provided @@ -142,7 +142,7 @@ com.ticxo.modelengine ModelEngine - R4.0.3 + R4.0.6 diff --git a/src/main/java/fr/nocsy/mcpets/data/Category.java b/src/main/java/fr/nocsy/mcpets/data/Category.java index 306ad5b..bae447a 100644 --- a/src/main/java/fr/nocsy/mcpets/data/Category.java +++ b/src/main/java/fr/nocsy/mcpets/data/Category.java @@ -89,11 +89,15 @@ public boolean openInventory(Player p, int page) if(showedPets.isEmpty() && page > 0) return false; - invSize = showedPets.size(); - if(maxPages > 1) - invSize++; - while(invSize <= 0 || invSize % 9 != 0) - invSize++; + // Adaptive inventory setting + if(GlobalConfig.getInstance().getAdaptiveInventory() <= 0) + { + invSize = showedPets.size(); + if(maxPages > 1) + invSize++; + while(invSize <= 0 || invSize % 9 != 0) + invSize++; + } Inventory inventory = Bukkit.createInventory(null, invSize, displayName); @@ -148,7 +152,7 @@ public void setIcon(ItemStack it) private void setupData() { ItemMeta meta = icon.getItemMeta(); - meta.setLocalizedName("MCPetsCategory;" + this.getId()); + meta.setItemName("MCPetsCategory;" + this.getId()); meta.setDisplayName(iconName); icon.setItemMeta(meta); @@ -169,9 +173,9 @@ public int getCurrentPage(Inventory inventory) if(pager != null && !pager.getType().isAir() && pager.hasItemMeta() - && pager.getItemMeta().hasLocalizedName()) + && pager.getItemMeta().hasItemName()) { - String[] data = pager.getItemMeta().getLocalizedName().split(";"); + String[] data = pager.getItemMeta().getItemName().split(";"); if(data.length != 3) return -1; @@ -247,9 +251,9 @@ public static Category getFromInventory(Inventory inventory) if(pager != null && !pager.getType().isAir() && pager.hasItemMeta() - && pager.getItemMeta().hasLocalizedName()) + && pager.getItemMeta().hasItemName()) { - String[] data = pager.getItemMeta().getLocalizedName().split(";"); + String[] data = pager.getItemMeta().getItemName().split(";"); if(data.length != 3) return null; diff --git a/src/main/java/fr/nocsy/mcpets/data/Items.java b/src/main/java/fr/nocsy/mcpets/data/Items.java index 78cf20b..4c5b4d4 100644 --- a/src/main/java/fr/nocsy/mcpets/data/Items.java +++ b/src/main/java/fr/nocsy/mcpets/data/Items.java @@ -78,7 +78,7 @@ public void setItem(ItemStack item) private void prepareItem() { ItemMeta meta = item.getItemMeta(); - meta.setLocalizedName(getLocalizedName()); + meta.setItemName(getLocalizedName()); item.setItemMeta(meta); } @@ -95,7 +95,7 @@ private static ItemStack unknown() ItemMeta meta = it.getItemMeta(); meta.setDisplayName("Unknown"); meta.setLore(lore); - meta.setLocalizedName("AlmPet;Unknown"); + meta.setItemName("AlmPet;Unknown"); it.setItemMeta(meta); @@ -134,7 +134,7 @@ private static ItemStack petmenu() { ItemMeta meta = it.getItemMeta(); meta.setDisplayName(Language.BACK_TO_PETMENU_ITEM_NAME.getMessage()); meta.setLore(lore); - meta.setLocalizedName("AlmPet;BackToPetMenu"); + meta.setItemName("AlmPet;BackToPetMenu"); it.setItemMeta(meta); @@ -147,7 +147,7 @@ private static ItemStack inventory() { ItemStack it = new ItemStack(Material.CHEST); ItemMeta meta = it.getItemMeta(); meta.setDisplayName(Language.INVENTORY_ITEM_NAME.getMessage()); - meta.setLocalizedName("AlmPet;Inventory"); + meta.setItemName("AlmPet;Inventory"); it.setItemMeta(meta); @@ -160,7 +160,7 @@ private static ItemStack skins() { ItemStack it = new ItemStack(Material.MAGMA_CREAM); ItemMeta meta = it.getItemMeta(); meta.setDisplayName(Language.SKINS_ITEM_NAME.getMessage()); - meta.setLocalizedName("AlmPet;Skins"); + meta.setItemName("AlmPet;Skins"); it.setItemMeta(meta); @@ -173,7 +173,7 @@ private static ItemStack equipment() { ItemStack it = new ItemStack(Material.LEATHER_HORSE_ARMOR); ItemMeta meta = it.getItemMeta(); meta.setDisplayName(Language.EQUIPMENT_ITEM_NAME.getMessage()); - meta.setLocalizedName("AlmPet;Inventory"); + meta.setItemName("AlmPet;Inventory"); it.setItemMeta(meta); @@ -194,7 +194,7 @@ public static ItemStack page(int index, Player p) { meta.setDisplayName(Language.TURNPAGE_ITEM_NAME.getMessageFormatted(new FormatArg("%currentPage%", Integer.toString(index+1)), new FormatArg("%maxPage%", Integer.toString((int)(Pet.getAvailablePets(p).size()/54 + 0.5))))); - meta.setLocalizedName("AlmPetPage;" + index); + meta.setItemName("AlmPetPage;" + index); ArrayList lore = new ArrayList<>(Arrays.asList(Language.TURNPAGE_ITEM_DESCRIPTION.getMessage().split("\n"))); meta.setLore(lore); @@ -208,7 +208,7 @@ public static ItemStack page(Category category, int index) { ItemMeta meta = it.getItemMeta(); meta.setDisplayName(Language.TURNPAGE_ITEM_NAME.getMessageFormatted(new FormatArg("%currentPage%", Integer.toString(index+1)), new FormatArg("%maxPage%", Integer.toString(category.getMaxPages())))); - meta.setLocalizedName("MCPetsPage;" + category.getId() + ";" + index); + meta.setItemName("MCPetsPage;" + category.getId() + ";" + index); ArrayList lore = new ArrayList<>(Arrays.asList(Language.TURNPAGE_ITEM_DESCRIPTION.getMessageFormatted( new FormatArg("%currentPage%", Integer.toString(index)), @@ -241,7 +241,7 @@ public static ItemStack petInfo(Pet pet) { lore.addAll(Arrays.asList(Language.NICKNAME_ITEM_LORE.getMessage().split("\n"))); meta.setLore(lore); - meta.setLocalizedName(null); + meta.setItemName(null); it.setItemMeta(meta); return it; } @@ -262,8 +262,8 @@ public static ItemStack deco(Material mat) { public static boolean isSignalStick(ItemStack it) { return it != null && it.hasItemMeta() && - it.getItemMeta().hasLocalizedName() && - it.getItemMeta().getLocalizedName().contains(Pet.SIGNAL_STICK_TAG); + it.getItemMeta().hasItemName() && + it.getItemMeta().getItemName().contains(Pet.SIGNAL_STICK_TAG); } public static ItemStack turnIntoSignalStick(ItemStack it, Pet pet) @@ -273,7 +273,7 @@ public static ItemStack turnIntoSignalStick(ItemStack it, Pet pet) pet == null) return it; ItemMeta meta = it.getItemMeta(); - meta.setLocalizedName(buildSignalStickTag(pet)); + meta.setItemName(buildSignalStickTag(pet)); it.setItemMeta(meta); return it; } @@ -289,9 +289,9 @@ public static String getPetTag(ItemStack it) { if(it != null && it.hasItemMeta() && - it.getItemMeta().hasLocalizedName()) + it.getItemMeta().hasItemName()) { - String[] split = it.getItemMeta().getLocalizedName().split(";"); + String[] split = it.getItemMeta().getItemName().split(";"); if(split.length == 2) return split[1]; } diff --git a/src/main/java/fr/nocsy/mcpets/data/Pet.java b/src/main/java/fr/nocsy/mcpets/data/Pet.java index c512fb0..c91dd68 100644 --- a/src/main/java/fr/nocsy/mcpets/data/Pet.java +++ b/src/main/java/fr/nocsy/mcpets/data/Pet.java @@ -35,12 +35,12 @@ import org.bukkit.Material; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; +import org.bukkit.event.entity.EntityMountEvent; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.metadata.FixedMetadataValue; import org.bukkit.scheduler.BukkitRunnable; import org.jetbrains.annotations.NotNull; -import org.spigotmc.event.entity.EntityMountEvent; import java.util.*; @@ -307,8 +307,8 @@ public static Pet getFromId(String id) { * @return */ public static Pet getFromIcon(ItemStack icon) { - if (icon.hasItemMeta() && icon.getItemMeta().hasLocalizedName()) { - return fromString(icon.getItemMeta().getLocalizedName()); + if (icon.hasItemMeta() && icon.getItemMeta().hasItemName()) { + return fromString(icon.getItemMeta().getItemName()); } return null; } @@ -1429,12 +1429,12 @@ public ItemStack buildItem(ItemStack item, boolean showStats, String localizedNa && textureBase64 != null) { item = Utils.createHead(iconName, desc, textureBase64); ItemMeta meta = item.getItemMeta(); - meta.setLocalizedName(localizedName); + meta.setItemName(localizedName); item.setItemMeta(meta); } else if (mat != null) { item = new ItemStack(mat); ItemMeta meta = item.getItemMeta(); - meta.setLocalizedName(localizedName); + meta.setItemName(localizedName); meta.setCustomModelData(customModelData); meta.setDisplayName(iconName); meta.setLore(desc); @@ -1442,7 +1442,7 @@ public ItemStack buildItem(ItemStack item, boolean showStats, String localizedNa } else if(item == null){ item = Utils.createHead(iconName, desc, "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvOWQ5Y2M1OGFkMjVhMWFiMTZkMzZiYjVkNmQ0OTNjOGY1ODk4YzJiZjMwMmI2NGUzMjU5MjFjNDFjMzU4NjcifX19"); ItemMeta meta = item.getItemMeta(); - meta.setLocalizedName(localizedName); + meta.setItemName(localizedName); item.setItemMeta(meta); } diff --git a/src/main/java/fr/nocsy/mcpets/data/PetSkin.java b/src/main/java/fr/nocsy/mcpets/data/PetSkin.java index 91d8e93..fcc1e25 100644 --- a/src/main/java/fr/nocsy/mcpets/data/PetSkin.java +++ b/src/main/java/fr/nocsy/mcpets/data/PetSkin.java @@ -72,9 +72,9 @@ public static void load(String pathId, Pet objectPet, String modelSkinId, String public static PetSkin fromIcon(ItemStack it) { if(it.hasItemMeta() && - it.getItemMeta().hasLocalizedName()) + it.getItemMeta().hasItemName()) { - String[] code = it.getItemMeta().getLocalizedName().split(";"); + String[] code = it.getItemMeta().getItemName().split(";"); if(code.length > 0 && code[0].equals("MCPetsSkins")) { String petId = code[1]; @@ -209,7 +209,7 @@ private void initIcon() private void prepareIcon() { ItemMeta meta = icon.getItemMeta(); - meta.setLocalizedName("MCPetsSkins;" + objectPet.getId() + ";" + uuid); + meta.setItemName("MCPetsSkins;" + objectPet.getId() + ";" + uuid); icon.setItemMeta(meta); } diff --git a/src/main/java/fr/nocsy/mcpets/data/config/CategoryConfig.java b/src/main/java/fr/nocsy/mcpets/data/config/CategoryConfig.java index 27aa9a0..4a3dbc9 100644 --- a/src/main/java/fr/nocsy/mcpets/data/config/CategoryConfig.java +++ b/src/main/java/fr/nocsy/mcpets/data/config/CategoryConfig.java @@ -135,7 +135,7 @@ private ItemStack setupUnkownIcon() { ItemStack it = Items.UNKNOWN.getItem().clone(); ItemMeta meta = it.getItemMeta(); - meta.setLocalizedName("MCPets;" + id); + meta.setItemName("MCPets;" + id); meta.setDisplayName("ยง6" + id); it.setItemMeta(meta); return it; diff --git a/src/main/java/fr/nocsy/mcpets/data/config/PetConfig.java b/src/main/java/fr/nocsy/mcpets/data/config/PetConfig.java index 59316b1..a528ccd 100644 --- a/src/main/java/fr/nocsy/mcpets/data/config/PetConfig.java +++ b/src/main/java/fr/nocsy/mcpets/data/config/PetConfig.java @@ -216,7 +216,7 @@ private ItemStack legacyItemRead(ItemStack item, boolean showStats, String local { itemStack = getConfig().getItemStack(path + ".Raw"); ItemMeta meta = itemStack.getItemMeta(); - meta.setLocalizedName(localName); + meta.setItemName(localName); itemStack.setItemMeta(meta); if(showStats) itemStack = pet.applyStats(itemStack); diff --git a/src/main/java/fr/nocsy/mcpets/data/editor/EditorItems.java b/src/main/java/fr/nocsy/mcpets/data/editor/EditorItems.java index 5d4bc4b..27c8153 100644 --- a/src/main/java/fr/nocsy/mcpets/data/editor/EditorItems.java +++ b/src/main/java/fr/nocsy/mcpets/data/editor/EditorItems.java @@ -369,7 +369,7 @@ public ItemStack getItem() ItemMeta meta = it.getItemMeta(); if(it.getType().equals(Material.FILLED_MAP)) it.setType(Material.MAP); - meta.setLocalizedName(editorTag + getId()); + meta.setItemName(editorTag + getId()); // Basically, we are replacing the placeholder for the value within the lores List lores = meta.getLore(); @@ -428,7 +428,6 @@ else if(valueStr.equalsIgnoreCase("false")) meta.addItemFlags(ItemFlag.HIDE_ATTRIBUTES); meta.addItemFlags(ItemFlag.HIDE_PLACED_ON); meta.addItemFlags(ItemFlag.HIDE_DYE); - meta.addItemFlags(ItemFlag.HIDE_POTION_EFFECTS); meta.addItemFlags(ItemFlag.HIDE_DESTROYS); it.setItemMeta(meta); return it; @@ -439,7 +438,7 @@ public static EditorItems getFromItemstack(ItemStack it) if(it == null || !it.hasItemMeta()) return null; - String localName = it.getItemMeta().getLocalizedName(); + String localName = it.getItemMeta().getItemName(); // Item does not have the editor tag, so it's not an editor item if(!localName.contains(editorTag)) return null; diff --git a/src/main/java/fr/nocsy/mcpets/data/inventories/CategoriesMenu.java b/src/main/java/fr/nocsy/mcpets/data/inventories/CategoriesMenu.java index 1ad0453..d620b1a 100644 --- a/src/main/java/fr/nocsy/mcpets/data/inventories/CategoriesMenu.java +++ b/src/main/java/fr/nocsy/mcpets/data/inventories/CategoriesMenu.java @@ -41,10 +41,10 @@ public static Category findCategory(ItemStack icon) return null; if(icon.hasItemMeta() && - icon.getItemMeta().hasLocalizedName() && - icon.getItemMeta().getLocalizedName().contains("MCPetsCategory")) + icon.getItemMeta().hasItemName() && + icon.getItemMeta().getItemName().contains("MCPetsCategory")) { - String[] data = icon.getItemMeta().getLocalizedName().split(";"); + String[] data = icon.getItemMeta().getItemName().split(";"); if(data.length == 2) { String catId = data[1]; diff --git a/src/main/java/fr/nocsy/mcpets/data/livingpets/PetFood.java b/src/main/java/fr/nocsy/mcpets/data/livingpets/PetFood.java index 5a387b3..c7d70df 100644 --- a/src/main/java/fr/nocsy/mcpets/data/livingpets/PetFood.java +++ b/src/main/java/fr/nocsy/mcpets/data/livingpets/PetFood.java @@ -146,7 +146,7 @@ public ItemStack getItemStack() itemStack = Items.UNKNOWN.getItem().clone(); } ItemMeta meta = itemStack.getItemMeta(); - meta.setLocalizedName("MCPets;Food;" + itemId); + meta.setItemName("MCPets;Food;" + itemId); itemStack.setItemMeta(meta); } @@ -332,7 +332,7 @@ public static PetFood getFromItem(ItemStack it) if(it == null) return null; // if the item is a default MC item, then look for possible matches - if(!it.hasItemMeta() || !it.getItemMeta().hasLocalizedName()) + if(!it.hasItemMeta() || !it.getItemMeta().hasItemName()) { return PetFoodConfig.getInstance().list().stream() .filter(petFood -> petFood.isDefaultMCItem() @@ -344,7 +344,7 @@ public static PetFood getFromItem(ItemStack it) // if the item isn't a default MCItem, go through the localized informations return PetFoodConfig.getInstance().list().stream() .filter(petFood -> petFood.getItemStack() != null - && petFood.getItemStack().getItemMeta().getLocalizedName().equals(it.getItemMeta().getLocalizedName())) + && petFood.getItemStack().getItemMeta().getItemName().equals(it.getItemMeta().getItemName())) .findFirst() .orElse(null); } diff --git a/src/main/java/fr/nocsy/mcpets/listeners/CategoryMenuListener.java b/src/main/java/fr/nocsy/mcpets/listeners/CategoryMenuListener.java index cfa5df2..ecb5c9a 100644 --- a/src/main/java/fr/nocsy/mcpets/listeners/CategoryMenuListener.java +++ b/src/main/java/fr/nocsy/mcpets/listeners/CategoryMenuListener.java @@ -37,7 +37,7 @@ public void click(InventoryClickEvent e) { ItemStack it = e.getCurrentItem(); if (it != null) { - if (it.hasItemMeta() && it.getItemMeta().hasLocalizedName() && it.getItemMeta().getLocalizedName().contains("MCPetsPage;")) { + if (it.hasItemMeta() && it.getItemMeta().hasItemName() && it.getItemMeta().getItemName().contains("MCPetsPage;")) { int currentPage = category.getCurrentPage(e.getClickedInventory()); if (e.getClick() == ClickType.LEFT) { diff --git a/src/main/java/fr/nocsy/mcpets/listeners/PetInteractionMenuListener.java b/src/main/java/fr/nocsy/mcpets/listeners/PetInteractionMenuListener.java index c63f934..b4da472 100644 --- a/src/main/java/fr/nocsy/mcpets/listeners/PetInteractionMenuListener.java +++ b/src/main/java/fr/nocsy/mcpets/listeners/PetInteractionMenuListener.java @@ -95,9 +95,9 @@ public void click(InventoryClickEvent e) { } ItemStack it = e.getCurrentItem(); - if (it != null && it.hasItemMeta() && it.getItemMeta().hasDisplayName() && it.getItemMeta().hasLocalizedName()) { + if (it != null && it.hasItemMeta() && it.getItemMeta().hasDisplayName() && it.getItemMeta().hasItemName()) { - String localizedName = it.getItemMeta().getLocalizedName(); + String localizedName = it.getItemMeta().getItemName(); if (localizedName.contains("AlmPetPage;")) return; diff --git a/src/main/java/fr/nocsy/mcpets/listeners/PetMenuListener.java b/src/main/java/fr/nocsy/mcpets/listeners/PetMenuListener.java index 9ab7f29..af854ad 100644 --- a/src/main/java/fr/nocsy/mcpets/listeners/PetMenuListener.java +++ b/src/main/java/fr/nocsy/mcpets/listeners/PetMenuListener.java @@ -19,8 +19,8 @@ public void click(InventoryClickEvent e) { Player p = (Player) e.getWhoClicked(); ItemStack it = e.getCurrentItem(); if (it != null) { - if (it.hasItemMeta() && it.getItemMeta().hasLocalizedName() && it.getItemMeta().getLocalizedName().contains("AlmPetPage;")) { - int page = Integer.parseInt(it.getItemMeta().getLocalizedName().split(";")[1]); + if (it.hasItemMeta() && it.getItemMeta().hasItemName() && it.getItemMeta().getItemName().contains("AlmPetPage;")) { + int page = Integer.parseInt(it.getItemMeta().getItemName().split(";")[1]); p.closeInventory(); if (e.getClick() == ClickType.LEFT) { PetMenu menu = new PetMenu(p, Math.max(page - 1, 0)); diff --git a/src/main/java/fr/nocsy/mcpets/listeners/VanillaDismountListener.java b/src/main/java/fr/nocsy/mcpets/listeners/VanillaDismountListener.java index d574c00..fb07f1e 100644 --- a/src/main/java/fr/nocsy/mcpets/listeners/VanillaDismountListener.java +++ b/src/main/java/fr/nocsy/mcpets/listeners/VanillaDismountListener.java @@ -5,7 +5,7 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; -import org.spigotmc.event.entity.EntityDismountEvent; +import org.bukkit.event.entity.EntityDismountEvent; import com.ticxo.modelengine.api.ModelEngineAPI; import com.ticxo.modelengine.api.model.ModeledEntity; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 4bd052b..06884c0 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: MCPets main: fr.nocsy.mcpets.MCPets -version: 4.1.3 +version: 4.1.4 description: MCModels affiliate plugin. Join the workshop ! https://discord.gg/p7QTm2gUyf depend: - MythicMobs