diff --git a/CHANGELOG.md b/CHANGELOG.md index 66ab73106..83298cd15 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Fixed + +- Fixed chained crafters not taking over the name of the root crafter. + ## [v1.11.1] - 2022-10-30 ### Fixed diff --git a/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternContainer.java b/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternContainer.java index c1cc8e56c..12759c578 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternContainer.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/autocrafting/ICraftingPatternContainer.java @@ -86,11 +86,23 @@ public interface ICraftingPatternContainer { /** * The name of this container for categorizing in the Crafting Manager GUI. + * Will return the name of the root container if we're in a chained scenario. * * @return the name of this container */ Component getName(); + /** + * The custom name of this container, as set in an anvil for example. + * Can be null. + * + * @return the name of this container + */ + @Nullable + default Component getCustomName() { + return null; + } + /** * @return the position of this container */ diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java index d9f252ceb..847438b8d 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/network/node/CrafterNetworkNode.java @@ -297,10 +297,20 @@ public class CrafterNetworkNode extends NetworkNode implements ICraftingPatternC return patternsInventory; } + @Override + @Nullable + public Component getCustomName() { + return displayName; + } + @Override public Component getName() { - if (displayName != null) { - return displayName; + ICraftingPatternContainer root = getRootContainer(); + if (root != null) { + Component displayNameOfRoot = root.getCustomName(); + if (displayNameOfRoot != null) { + return displayNameOfRoot; + } } BlockEntity facing = getConnectedBlockEntity();