diff --git a/build.gradle b/build.gradle index 84904cf..daeb435 100644 --- a/build.gradle +++ b/build.gradle @@ -37,7 +37,7 @@ dependencies { // Build implementation 'org.jetbrains:annotations:24.1.0' compileOnly 'de.tr7zw:item-nbt-api-plugin:2.12.3' - compileOnly 'org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT' + compileOnly 'org.spigotmc:spigot-api:1.21.6-R0.1-SNAPSHOT' compileOnly 'com.google.code.gson:gson:2.13.1' // CVE mitigation: spigot-api compileOnly 'com.google.guava:guava:33.2.1-jre' // CVE mitigation: spigot-api compileOnly 'org.yaml:snakeyaml:2.2' // CVE mitigation: spigot-api @@ -48,7 +48,7 @@ dependencies { testRuntimeOnly "org.junit.platform:junit-platform-launcher" testImplementation "org.mockito:mockito-core:5.18.0" - testImplementation 'org.spigotmc:spigot-api:1.18.2-R0.1-SNAPSHOT' + testImplementation 'org.spigotmc:spigot-api:1.21.6-R0.1-SNAPSHOT' testImplementation "com.google.code.gson:gson:2.13.1" } diff --git a/src/main/java/me/Tonus_/hatCosmetics/events/MainHatsCommand.java b/src/main/java/me/Tonus_/hatCosmetics/events/MainHatsCommand.java index 7a98476..1b25cec 100644 --- a/src/main/java/me/Tonus_/hatCosmetics/events/MainHatsCommand.java +++ b/src/main/java/me/Tonus_/hatCosmetics/events/MainHatsCommand.java @@ -9,13 +9,11 @@ import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.jetbrains.annotations.NotNull; import java.util.List; -import java.util.Objects; public class MainHatsCommand implements CommandExecutor { private final Main main; @@ -92,23 +90,19 @@ else if(args[0].equalsIgnoreCase("equip")) { // Then check if the player has a helmet equipped and cancel if so if (equipment.getHelmet() != null) { - var helmetSlotMeta = equipment.getHelmet().getItemMeta(); - + ItemMeta helmetSlotMeta = equipment.getHelmet().getItemMeta(); if (helmetSlotMeta != null) { - var lore = helmetSlotMeta.getLore(); - + List lore = helmetSlotMeta.getLore(); if (lore != null && !lore.isEmpty() && lore.get(0).contains("Hat Cosmetic")) { if (args.length > 2) { sender.sendMessage(messageManager.getPlayerMessage("helmet_exist_other", null)); } else { player.sendMessage(messageManager.getPlayerMessage("helmet_exist", null)); } - return true; } } } - // Set player's helmet slot to specified hat ItemMeta meta = item.getItemMeta(); assert meta != null; @@ -173,7 +167,6 @@ else if(args[0].equalsIgnoreCase("reload")) { } } } - return false; } } diff --git a/src/main/java/me/Tonus_/hatCosmetics/manager/InventoryManager.java b/src/main/java/me/Tonus_/hatCosmetics/manager/InventoryManager.java index fc0722e..cc74051 100644 --- a/src/main/java/me/Tonus_/hatCosmetics/manager/InventoryManager.java +++ b/src/main/java/me/Tonus_/hatCosmetics/manager/InventoryManager.java @@ -12,6 +12,8 @@ import org.bukkit.inventory.ItemFlag; import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; +import org.bukkit.inventory.meta.components.CustomModelDataComponent; + import java.util.*; public class InventoryManager { @@ -115,9 +117,11 @@ public void initHats() { hatItem.setItemMeta(hatMeta); // Update Model - var modelData = main.getConfig().getInt("hats." + cosmetics + ".data"); - hatMeta.setCustomModelData(modelData); - hatItem = customModelDataAPI.appendModelData(hatItem, modelData); + int modelData = main.getConfig().getInt("hats." + cosmetics + ".data"); + CustomModelDataComponent customModelDataComponent = hatMeta.getCustomModelDataComponent(); + customModelDataComponent.setFloats(List.of((float)modelData)); + hatMeta.setCustomModelDataComponent(customModelDataComponent); + hatItem.setItemMeta(hatMeta); NBTItem nbti = new NBTItem(hatItem); nbti.setString("Permission", "hatcosmetics.hat." + cosmetics);