From f1a803286fbe8764786b67e1f5cfcc2894b676d6 Mon Sep 17 00:00:00 2001 From: MiniDay <372403923@qq.com> Date: Fri, 4 Nov 2022 00:44:07 +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 --- .../core/bukkit/util/BukkitSerializeUtils.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) 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 800188e..e89396c 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,6 +8,7 @@ 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; @@ -52,6 +53,23 @@ public final class BukkitSerializeUtils { } } + @NotNull + public static ItemStack deserializeItemStack(@Nullable String s, @NotNull ItemStack defaultValue) { + if (s == null) { + return defaultValue; + } + if (!Bukkit.getPluginManager().isPluginEnabled("ProtocolLib")) { + HamsterCorePlugin.getInstance().getLogger().warning("ProtocolLib 前置插件未启用, 无法反序列化物品!"); + return defaultValue; + } + try { + return StreamSerializer.getDefault().deserializeItemStack(s); + } catch (Exception e) { + HamsterCorePlugin.getInstance().getLogger().log(Level.WARNING, "反序列化物品 " + s + " 时出错!", e); + return defaultValue; + } + } + @Nullable public static JsonObject serializePotionEffect(@Nullable PotionEffect effect) { if (effect == null) {