From 236880c074dcbead2524250775b0a8fd04e3b6ba Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Fri, 4 Nov 2022 00:40:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bukkit/util/BukkitSerializeUtils.java | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitSerializeUtils.java b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitSerializeUtils.java index 377ccc9..800188e 100644 --- a/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitSerializeUtils.java +++ b/hamster-core-bukkit/src/main/java/cn/hamster3/mc/plugin/core/bukkit/util/BukkitSerializeUtils.java @@ -8,7 +8,6 @@ import org.bukkit.Bukkit; import org.bukkit.inventory.ItemStack; import org.bukkit.potion.PotionEffect; import org.bukkit.potion.PotionEffectType; -import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.io.IOException; @@ -21,11 +20,11 @@ public final class BukkitSerializeUtils { @Nullable public static String serializeItemStack(@Nullable ItemStack stack) { - if (!Bukkit.getPluginManager().isPluginEnabled("ProtocolLib")) { - HamsterCorePlugin.getInstance().getLogger().warning("ProtocolLib 前置插件未启用, 无法序列化物品!"); + if (BukkitUtils.isEmptyItemStack(stack)) { return null; } - if (BukkitUtils.isEmptyItemStack(stack)) { + if (!Bukkit.getPluginManager().isPluginEnabled("ProtocolLib")) { + HamsterCorePlugin.getInstance().getLogger().warning("ProtocolLib 前置插件未启用, 无法序列化物品!"); return null; } try { @@ -37,28 +36,27 @@ public final class BukkitSerializeUtils { } @Nullable - public static ItemStack deserializeItemStack(@NotNull JsonElement element) { + public static ItemStack deserializeItemStack(@Nullable String s) { + if (s == null) { + return null; + } if (!Bukkit.getPluginManager().isPluginEnabled("ProtocolLib")) { HamsterCorePlugin.getInstance().getLogger().warning("ProtocolLib 前置插件未启用, 无法反序列化物品!"); return null; } try { - if (element.isJsonNull()) { - return null; - } - String s = element.getAsString(); - if (s == null || s.length() < 1) { - return null; - } return StreamSerializer.getDefault().deserializeItemStack(s); } catch (Exception e) { - HamsterCorePlugin.getInstance().getLogger().log(Level.WARNING, "反序列化物品 " + element + " 时出错!", e); + HamsterCorePlugin.getInstance().getLogger().log(Level.WARNING, "反序列化物品 " + s + " 时出错!", e); return null; } } @Nullable - public static JsonObject serializePotionEffect(@NotNull PotionEffect effect) { + public static JsonObject serializePotionEffect(@Nullable PotionEffect effect) { + if (effect == null) { + return null; + } try { JsonObject object = new JsonObject(); object.addProperty("type", effect.getType().getName()); @@ -72,8 +70,8 @@ public final class BukkitSerializeUtils { } @Nullable - public static PotionEffect deserializePotionEffect(@NotNull JsonElement element) { - if (!element.isJsonObject()) { + public static PotionEffect deserializePotionEffect(@Nullable JsonElement element) { + if (element == null || !element.isJsonObject()) { return null; } JsonObject effectObject = element.getAsJsonObject();