diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java index 190ee8004..cad232493 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/recipe/CustomSmithingTransformRecipe.java @@ -19,10 +19,7 @@ import net.momirealms.craftengine.core.util.*; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -import java.util.ArrayList; -import java.util.List; -import java.util.Map; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -158,6 +155,7 @@ public class CustomSmithingTransformRecipe extends AbstractedFixedResultRecip private T createSmithingResult(Item base, T result) { Item wrappedResult = (Item) CraftEngine.instance().itemManager().wrap(result); Item finalResult = wrappedResult; + Optional customId = finalResult.customId(); // 修复在保留custom_data组件的时候意外保留前物品的id if (this.mergeComponents) { finalResult = base.mergeCopy(wrappedResult); } @@ -166,6 +164,9 @@ public class CustomSmithingTransformRecipe extends AbstractedFixedResultRecip processor.accept(base, wrappedResult, finalResult); } } + if (customId.isPresent()) { + finalResult.customId(customId.get()); + } return finalResult.getItem(); }