From feb86deaaf2f1aeb11c1bf107bc2a8af71e957a5 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Mon, 21 Jul 2025 05:03:01 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix(item):=20=E4=BF=AE=E5=A4=8D=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E5=BE=88=E6=8A=BD=E8=B1=A1=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../craftengine/bukkit/item/ModernNetworkItemHandler.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 b94a64568..15b134f3e 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 @@ -60,6 +60,7 @@ public final class ModernNetworkItemHandler implements NetworkItemHandler> s2c(Item wrapped, Player player) { + Item original = wrapped; Optional> optionalCustomItem = wrapped.getCustomItem(); if (optionalCustomItem.isEmpty()) { if (!Config.interceptItem()) return Optional.empty(); @@ -89,7 +90,7 @@ public final class ModernNetworkItemHandler implements NetworkItemHandler modifier : customItem.clientBoundDataModifiers()) { - modifier.prepareNetworkItem(wrapped, context, tag); + modifier.prepareNetworkItem(original, context, tag); } for (ItemDataModifier modifier : customItem.clientBoundDataModifiers()) { modifier.apply(wrapped, context); From 4ed2694ade5bd39bc17939716ca7cb5e2f2a10c5 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Mon, 21 Jul 2025 17:07:32 +0800 Subject: [PATCH 2/5] Update config.yml --- common-files/src/main/resources/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common-files/src/main/resources/config.yml b/common-files/src/main/resources/config.yml index 9222673b8..ca645f6ba 100644 --- a/common-files/src/main/resources/config.yml +++ b/common-files/src/main/resources/config.yml @@ -383,7 +383,7 @@ chunk-system: target: SECTION # Enables faster injection method # Note: May not work with certain server forks that alter chunk class structure (In most cases it won't conflict) - use-fast-method: false + use-fast-method: true # Auto-convert custom blocks -> vanilla blocks when unloading chunks # # - When ENABLED (true): From a53875f331a8f9064ce3202acec4f7615670bfb1 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Mon, 21 Jul 2025 20:30:42 +0800 Subject: [PATCH 3/5] =?UTF-8?q?refactor(core):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=89=A9=E5=93=81=E9=9A=90=E8=97=8F=E5=B1=9E=E6=80=A7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../item/modifier/HideTooltipModifier.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java index 20c2bab7c..2748c84ad 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java @@ -20,6 +20,17 @@ import java.util.stream.Stream; public class HideTooltipModifier implements ItemDataModifier { public static final Map TO_LEGACY; + public static final List COMPONENTS = List.of( + ComponentKeys.UNBREAKABLE, + ComponentKeys.ENCHANTMENTS, + ComponentKeys.STORED_ENCHANTMENTS, + ComponentKeys.CAN_PLACE_ON, + ComponentKeys.CAN_BREAK, + ComponentKeys.ATTRIBUTE_MODIFIERS, + ComponentKeys.DYED_COLOR, + ComponentKeys.TRIM, + ComponentKeys.JUKEBOX_PLAYABLE + ); static { ImmutableMap.Builder builder = ImmutableMap.builder(); builder.put(ComponentKeys.ENCHANTMENTS, 1); @@ -51,11 +62,12 @@ public class HideTooltipModifier implements ItemDataModifier { } else if (VersionHelper.isOrAbove1_20_5()) { if (components.isEmpty()) { this.applier = new DummyApplier<>(); - } else if (components.size() == 1) { + } else if (components.size() == 1 && COMPONENTS.contains(components.getFirst())) { this.applier = new SemiModernApplier<>(components.getFirst()); } else { List> appliers = new ArrayList<>(); for (Key key : components) { + if (!COMPONENTS.contains(key)) continue; appliers.add(new SemiModernApplier<>(key)); } this.applier = new CompoundApplier<>(appliers); @@ -134,10 +146,6 @@ public class HideTooltipModifier implements ItemDataModifier { if (previous instanceof CompoundTag compoundTag) { compoundTag.putBoolean("show_in_tooltip", false); item.setNBTComponent(this.component, compoundTag); - } else { - CompoundTag compoundTag = new CompoundTag(); - compoundTag.putBoolean("show_in_tooltip", false); - item.setNBTComponent(this.component, compoundTag); } } } From c8f786a7577c15be9cc6677844cbf5c8ad2339a7 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Mon, 21 Jul 2025 22:14:13 +0800 Subject: [PATCH 4/5] =?UTF-8?q?refactor(core):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=89=A9=E5=93=81=E9=9A=90=E8=97=8F=E5=B1=9E=E6=80=A7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/item/modifier/HideTooltipModifier.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java index 2748c84ad..cd1cc3288 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java @@ -62,15 +62,25 @@ public class HideTooltipModifier implements ItemDataModifier { } else if (VersionHelper.isOrAbove1_20_5()) { if (components.isEmpty()) { this.applier = new DummyApplier<>(); - } else if (components.size() == 1 && COMPONENTS.contains(components.getFirst())) { - this.applier = new SemiModernApplier<>(components.getFirst()); + } else if (components.size() == 1) { + if (COMPONENTS.contains(components.getFirst())) { + this.applier = new SemiModernApplier<>(components.getFirst()); + } else { + this.applier = new DummyApplier<>(); + } } else { List> appliers = new ArrayList<>(); for (Key key : components) { if (!COMPONENTS.contains(key)) continue; appliers.add(new SemiModernApplier<>(key)); } - this.applier = new CompoundApplier<>(appliers); + if (appliers.isEmpty()) { + this.applier = new DummyApplier<>(); + } else if (appliers.size() == 1) { + this.applier = new SemiModernApplier<>(components.getFirst()); + } else { + this.applier = new CompoundApplier<>(appliers); + } } } else { this.applier = new LegacyApplier<>(components); From 99cd3a52eab0ca0666078e9eaff330e07e7657d6 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Mon, 21 Jul 2025 22:15:31 +0800 Subject: [PATCH 5/5] =?UTF-8?q?refactor(core):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=89=A9=E5=93=81=E9=9A=90=E8=97=8F=E5=B1=9E=E6=80=A7=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../craftengine/core/item/modifier/HideTooltipModifier.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java index cd1cc3288..4b56b6b74 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java @@ -77,7 +77,7 @@ public class HideTooltipModifier implements ItemDataModifier { if (appliers.isEmpty()) { this.applier = new DummyApplier<>(); } else if (appliers.size() == 1) { - this.applier = new SemiModernApplier<>(components.getFirst()); + this.applier = appliers.getFirst(); } else { this.applier = new CompoundApplier<>(appliers); }