From c223e0ceacb8092e0f9987952e818b7edb80e663 Mon Sep 17 00:00:00 2001 From: YufiriaMazenta Date: Fri, 7 Jun 2024 21:13:35 +0800 Subject: [PATCH] =?UTF-8?q?[1.9.6-dev1]=E4=B8=8D=E5=86=8D=E4=BD=BF?= =?UTF-8?q?=E7=94=A8NBT=E5=AD=98=E5=82=A8=E7=89=A9=E5=93=81,=E6=94=B9?= =?UTF-8?q?=E7=94=A8Bukkit=E7=9A=84=E7=89=A9=E5=93=81=E7=B3=BB=E7=BB=9F,?= =?UTF-8?q?=E5=85=BC=E5=AE=B91.20.5/1.20.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle.kts | 8 ++++-- .../item/impl/CraftorithmItemProvider.java | 28 ++++++++----------- src/main/resources/items/example_item.yml | 5 ---- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 53f383fe..f8d5320b 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,5 @@ import java.text.SimpleDateFormat -version = "1.9.5" +version = "1.9.6-dev1" plugins { `java-library` @@ -24,6 +24,8 @@ repositories { maven("https://nexus.phoenixdevt.fr/repository/maven-public/") //EcoEnchants maven("https://repo.auxilor.io/repository/maven-public/") + //NBT-API + maven("https://repo.codemc.io/repository/maven-public/") mavenCentral() } @@ -43,7 +45,8 @@ dependencies { compileOnly("io.lumine:MythicLib-dist:1.6.2-SNAPSHOT") compileOnly("net.Indyuce:MMOItems-API:6.9.5-SNAPSHOT") compileOnly("com.willfp:EcoEnchants:12.5.1") - implementation("com.crypticlib:CrypticLib:0.17.10") + implementation("com.crypticlib:CrypticLib:0.18.0") +// implementation("de.tr7zw:item-nbt-api:2.12.4") } group = "com.github.yufiriamazenta" @@ -77,5 +80,6 @@ tasks { shadowJar { archiveFileName.set("Craftorithm-$version.jar") relocate("crypticlib", "com.github.yufiriamazenta.craftorithm.crypticlib") + relocate("de.tr7zw.changeme.nbtapi", "com.github.yufiriamazenta.craftorithm.nbtapi") } } \ No newline at end of file diff --git a/src/main/java/com/github/yufiriamazenta/craftorithm/item/impl/CraftorithmItemProvider.java b/src/main/java/com/github/yufiriamazenta/craftorithm/item/impl/CraftorithmItemProvider.java index 6eb2d596..29ccb374 100644 --- a/src/main/java/com/github/yufiriamazenta/craftorithm/item/impl/CraftorithmItemProvider.java +++ b/src/main/java/com/github/yufiriamazenta/craftorithm/item/impl/CraftorithmItemProvider.java @@ -6,10 +6,7 @@ import com.github.yufiriamazenta.craftorithm.util.CollectionsUtil; import com.github.yufiriamazenta.craftorithm.util.LangUtil; import crypticlib.config.ConfigWrapper; -import crypticlib.nms.item.ItemFactory; -import crypticlib.nms.item.NbtItem; import crypticlib.util.FileUtil; -import org.bukkit.configuration.ConfigurationSection; import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -97,22 +94,20 @@ private void loadItems() { ConfigWrapper itemFile = itemConfigFileMap.get(namespace); Set itemKeySet = itemFile.config().getKeys(false); for (String itemKey : itemKeySet) { - ConfigurationSection config = itemFile.config().getConfigurationSection(itemKey); - loadItem(namespace + ":" + itemKey, config); + try { + ItemStack item = itemFile.config().getItemStack(itemKey); + if (item == null) { + throw new NullPointerException("Item " + itemKey + " is null"); + } + itemMap.put(itemKey, item); + } catch (Exception e) { + LangUtil.info(Languages.LOAD_ITEM_LOAD_EXCEPTION, CollectionsUtil.newStringHashMap("", itemKey)); + e.printStackTrace(); + } } } } - private void loadItem(String itemKey, ConfigurationSection config) { - try { - NbtItem item = ItemFactory.item(config); - ItemStack bukkitItem = item.saveNbtToItem(); - itemMap.put(itemKey, bukkitItem); - } catch (Exception e) { - LangUtil.info(Languages.LOAD_ITEM_LOAD_EXCEPTION, CollectionsUtil.newStringHashMap("", itemKey)); - e.printStackTrace(); - } - } public String regCraftorithmItem(String namespace, String itemName, ItemStack item) { ConfigWrapper itemConfigFile; @@ -126,8 +121,7 @@ public String regCraftorithmItem(String namespace, String itemName, ItemStack it } else { itemConfigFile = itemConfigFileMap.get(namespace); } - NbtItem nbtItem = ItemFactory.item(item); - itemConfigFile.set(itemName, nbtItem.toMap()); + itemConfigFile.set(itemName, item); itemConfigFile.saveConfig(); String key = namespace + ":" + itemName; itemMap.put(key, item); diff --git a/src/main/resources/items/example_item.yml b/src/main/resources/items/example_item.yml index b12d3391..e69de29b 100644 --- a/src/main/resources/items/example_item.yml +++ b/src/main/resources/items/example_item.yml @@ -1,5 +0,0 @@ -example_item: - material: STONE_PICKAXE - amount: 10 - nbt: - Damage: 78 \ No newline at end of file