From c8799a7c28093b49a245aead0f15b4757d1fc411 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Sun, 5 Nov 2023 17:47:03 +0800 Subject: [PATCH] =?UTF-8?q?refactor(core-bukkit):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=83=A8=E5=88=86=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/bukkit/util/CoreBukkitUtils.java | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java index 2f9d365..c4d4756 100644 --- a/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java +++ b/core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/CoreBukkitUtils.java @@ -320,30 +320,42 @@ public final class CoreBukkitUtils { return YamlConfiguration.loadConfiguration(file); } + /** + * 将物品序列化成 nbt 字符串 + * + * @param stack 物品实例 + * @return nbt 字符串 + */ @NotNull public static String serializeItemStack(@NotNull ItemStack stack) { - NBTContainer container = NBTItem.convertItemtoNBT(stack); - return container.toString(); + return NBTItem.convertItemtoNBT(stack).toString(); } + /** + * 将 nbt 字符串反序列化为物品 + * + * @param string nbt 字符串 + * @return 物品实例 + */ @Nullable public static ItemStack deserializeItemStack(@NotNull String string) { - ItemStack stack; - try { - stack = NBTItem.convertNBTtoItem(new NBTContainer(string)); - } catch (Exception ignored) { - stack = null; - } - return stack; + return NBTItem.convertNBTtoItem(new NBTContainer(string)); } + /** + * 将 nbt 字符串反序列化为物品 + * + * @param string nbt 字符串 + * @param defaultValue 当序列化失败时,返回 defaultValue + * @return 物品实例 + */ @NotNull public static ItemStack deserializeItemStack(@NotNull String string, @NotNull ItemStack defaultValue) { ItemStack stack; try { - stack = NBTItem.convertNBTtoItem(new NBTContainer(string)); + stack = deserializeItemStack(string); } catch (Exception ignored) { - stack = null; + return defaultValue; } if (stack == null) { return defaultValue;