From f2ad6f2ba196664cd7fdac675694f1424ba53df2 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Fri, 13 Jun 2025 16:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=80=E4=BA=9B=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../craftengine/bukkit/item/LegacyNetworkItemHandler.java | 3 ++- .../craftengine/bukkit/item/ModernNetworkItemHandler.java | 3 ++- .../java/net/momirealms/craftengine/core/util/FileUtils.java | 5 +++-- gradle.properties | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java index 9a2050efe..871bbcb32 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/LegacyNetworkItemHandler.java @@ -64,7 +64,8 @@ public class LegacyNetworkItemHandler implements NetworkItemHandler { return new OtherItem(wrapped, false).process(); } else { BukkitCustomItem customItem = (BukkitCustomItem) optionalCustomItem.get(); - boolean hasDifferentMaterial = FastNMS.INSTANCE.method$ItemStack$getItem(wrapped.getLiteralObject()) != customItem.clientItem(); + Object serverItem = FastNMS.INSTANCE.method$ItemStack$getItem(wrapped.getLiteralObject()); + boolean hasDifferentMaterial = serverItem == customItem.item() && serverItem != customItem.clientItem(); if (hasDifferentMaterial) { wrapped = wrapped.unsafeTransmuteCopy(customItem.clientItem(), wrapped.count()); } diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java index c584d3de4..f58ccad29 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/ModernNetworkItemHandler.java @@ -66,7 +66,8 @@ public final class ModernNetworkItemHandler implements NetworkItemHandler walk = Files.walk(folder)) { + try (Stream walk = Files.walk(folder, FileVisitOption.FOLLOW_LINKS)) { walk.sorted(Comparator.reverseOrder()) .forEach(path -> { try { @@ -51,7 +52,7 @@ public class FileUtils { if (!Files.exists(configFolder)) { return List.of(); } - try (Stream stream = Files.walk(configFolder)) { + try (Stream stream = Files.walk(configFolder, FileVisitOption.FOLLOW_LINKS)) { return stream.parallel() .filter(Files::isRegularFile) .filter(path -> path.toString().endsWith(".yml")) diff --git a/gradle.properties b/gradle.properties index 2d8b56c48..ef3e8ef9d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -41,7 +41,7 @@ commons_io_version=2.18.0 commons_imaging_version=1.0.0-alpha6 commons_lang3_version=3.17.0 sparrow_nbt_version=0.9.1 -sparrow_util_version=0.49.1 +sparrow_util_version=0.49.2 fastutil_version=8.5.15 netty_version=4.1.121.Final joml_version=1.10.8