From fb00fbd448e57588e477cc53a84d0e4a13df64e9 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Mon, 16 Jun 2025 22:21:04 +0800 Subject: [PATCH] =?UTF-8?q?fix(network):=20=E4=BF=AE=E5=A4=8D=E4=B8=BA?= =?UTF-8?q?=E4=BA=86=E4=BF=AE=E5=A4=8D1.21.6=E7=9A=84=E9=97=AE=E9=A2=98?= =?UTF-8?q?=E5=AF=BC=E8=87=B4=E4=BD=8E=E7=89=88=E6=9C=AC=E5=87=BA=E7=8E=B0?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../craftengine/bukkit/item/BukkitItemManager.java | 6 +++++- .../craftengine/bukkit/item/factory/BukkitItemFactory.java | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitItemManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitItemManager.java index 20c326586..601609099 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitItemManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/BukkitItemManager.java @@ -1,5 +1,6 @@ package net.momirealms.craftengine.bukkit.item; +import com.saicone.rtag.item.ItemTagStream; import net.momirealms.craftengine.bukkit.item.behavior.BucketItemBehavior; import net.momirealms.craftengine.bukkit.item.behavior.FlintAndSteelItemBehavior; import net.momirealms.craftengine.bukkit.item.behavior.WaterBucketItemBehavior; @@ -138,7 +139,10 @@ public class BukkitItemManager extends AbstractItemManager { @Override public Item fromByteArray(byte[] bytes) { - return this.factory.wrap(ItemStack.deserializeBytes(bytes)); + if (VersionHelper.isOrAbove1_21_6()) { + return this.factory.wrap(ItemStack.deserializeBytes(bytes)); + } + return this.factory.wrap(ItemTagStream.INSTANCE.fromBytes(bytes)); } @Override diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java index 5cf774fd7..3dcff2fc1 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java @@ -1,6 +1,7 @@ package net.momirealms.craftengine.bukkit.item.factory; import com.google.gson.JsonElement; +import com.saicone.rtag.item.ItemTagStream; import net.momirealms.craftengine.bukkit.plugin.reflection.minecraft.CoreReflections; import net.momirealms.craftengine.bukkit.util.ItemTags; import net.momirealms.craftengine.core.item.ItemFactory; @@ -9,6 +10,7 @@ import net.momirealms.craftengine.core.item.JukeboxPlayable; import net.momirealms.craftengine.core.item.setting.EquipmentData; import net.momirealms.craftengine.core.plugin.CraftEngine; import net.momirealms.craftengine.core.util.Key; +import net.momirealms.craftengine.core.util.VersionHelper; import net.momirealms.sparrow.nbt.Tag; import org.bukkit.inventory.ItemStack; @@ -48,7 +50,10 @@ public abstract class BukkitItemFactory> extend @Override protected byte[] toByteArray(W item) { - return item.getItem().serializeAsBytes(); + if (VersionHelper.isOrAbove1_21_6()) { + return item.getItem().serializeAsBytes(); + } + return ItemTagStream.INSTANCE.toBytes(item.getItem()); } @Override