From 4407619133ed169c38a7335057b774095de756bf Mon Sep 17 00:00:00 2001 From: Ali Arslan Date: Sun, 10 Nov 2024 10:13:04 +0300 Subject: [PATCH 1/3] Support 1.20.5+ Custom NBTs --- pom.xml | 21 +++++++++++++++- .../pk/ajneb97/managers/KitItemManager.java | 25 +++++++++++++++++-- src/main/resources/plugin.yml | 2 +- 3 files changed, 44 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 7a50e78..61b815e 100644 --- a/pom.xml +++ b/pom.xml @@ -31,6 +31,11 @@ minecraft-repo https://libraries.minecraft.net/ + + codemc-repo + https://repo.codemc.io/repository/maven-public/ + default + @@ -43,7 +48,7 @@ me.clip placeholderapi - 2.11.1 + 2.11.6 provided @@ -64,6 +69,12 @@ 4.0.3 compile + + de.tr7zw + item-nbt-api-plugin + 2.14.0 + compile + @@ -98,6 +109,14 @@ com.zaxxer.hikari.** + + de.tr7zw.nbtapi + pk.ajneb97.libs.nbtapi + + + org.slf4j + pk.ajneb97.libs.slf4j + diff --git a/src/main/java/pk/ajneb97/managers/KitItemManager.java b/src/main/java/pk/ajneb97/managers/KitItemManager.java index 00b99ca..b5011c7 100644 --- a/src/main/java/pk/ajneb97/managers/KitItemManager.java +++ b/src/main/java/pk/ajneb97/managers/KitItemManager.java @@ -1,5 +1,6 @@ package pk.ajneb97.managers; +import de.tr7zw.nbtapi.NBT; import org.bukkit.Bukkit; import org.bukkit.Color; import org.bukkit.NamespacedKey; @@ -231,8 +232,28 @@ public ItemStack createItemFromKitItem(KitItem kitItem,Player player){ } item.setItemMeta(meta); - if(!serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){ - List nbtList = kitItem.getNbt(); + + List nbtList = kitItem.getNbt(); + if (nbtList == null) return item; + if (nbtList.isEmpty()) return item; + + if(serverVersion.serverVersionGreaterEqualThan(serverVersion,ServerVersion.v1_20_R4)){ + NBT.modify(item, nbt -> { + for (String nbtStr : nbtList) { + String[] nbtSplit = nbtStr.split("\\|"); + if (nbtSplit.length == 3) { + String type = nbtSplit[2]; + if (type.equalsIgnoreCase("double")) { + nbt.setDouble(nbtSplit[0], Double.parseDouble(nbtSplit[1])); + } else if (type.equalsIgnoreCase("int")) { + nbt.setInteger(nbtSplit[0], Integer.parseInt(nbtSplit[1])); + } + } else { + nbt.setString(nbtSplit[0], nbtSplit[1]); + } + } + }); + } else { item = ItemUtils.setNBT(plugin,item, nbtList); } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 039c540..177c368 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ main: pk.ajneb97.PlayerKits2 version: 1.13.1 name: PlayerKits2 api-version: 1.13 -softdepend: [Vault,PlaceholderAPI] +softdepend: [NBTAPI,Vault,PlaceholderAPI] author: Ajneb97 commands: From d4fec31576ca12662278582f24889d1ff77de021 Mon Sep 17 00:00:00 2001 From: Ali Arslan Date: Sun, 10 Nov 2024 10:39:10 +0300 Subject: [PATCH 2/3] Do not relocate slf4j --- pom.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/pom.xml b/pom.xml index 61b815e..20b791e 100644 --- a/pom.xml +++ b/pom.xml @@ -113,10 +113,6 @@ de.tr7zw.nbtapi pk.ajneb97.libs.nbtapi - - org.slf4j - pk.ajneb97.libs.slf4j - From c0f0ad3918010c271a52ac9d1aca9086cbfe3ced Mon Sep 17 00:00:00 2001 From: Ali Arslan Date: Fri, 13 Jun 2025 13:32:06 +0300 Subject: [PATCH 3/3] 1.21.5 and NBTAPI fixes --- pom.xml | 18 +++++++----------- .../pk/ajneb97/managers/KitItemManager.java | 1 - src/main/resources/plugin.yml | 2 +- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/pom.xml b/pom.xml index 2ee4aab..d4b3e74 100644 --- a/pom.xml +++ b/pom.xml @@ -72,8 +72,8 @@ de.tr7zw item-nbt-api-plugin - 2.14.0 - compile + 2.15.0 + provided @@ -81,17 +81,17 @@ maven-compiler-plugin - 3.8.1 + 3.13.0 - 1.8 - 1.8 - 8 + 21 + 21 + 21 org.apache.maven.plugins maven-shade-plugin - 3.2.4 + 3.6.0 @@ -109,10 +109,6 @@ com.zaxxer.hikari.** - - de.tr7zw.nbtapi - pk.ajneb97.libs.nbtapi - diff --git a/src/main/java/pk/ajneb97/managers/KitItemManager.java b/src/main/java/pk/ajneb97/managers/KitItemManager.java index 39b2585..94f8839 100644 --- a/src/main/java/pk/ajneb97/managers/KitItemManager.java +++ b/src/main/java/pk/ajneb97/managers/KitItemManager.java @@ -1,7 +1,6 @@ package pk.ajneb97.managers; import de.tr7zw.nbtapi.NBT; -import org.bukkit.Bukkit; import org.bukkit.Color; import org.bukkit.NamespacedKey; import org.bukkit.configuration.file.FileConfiguration; diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 72b67e8..3b6255f 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -2,7 +2,7 @@ main: pk.ajneb97.PlayerKits2 version: 1.17.5 name: PlayerKits2 api-version: 1.13 -softdepend: [NBTAPI,Vault,PlaceholderAPI] +softdepend: [NBTAPI, Vault, PlaceholderAPI] author: Ajneb97 commands: