diff --git a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java index 0d4330b89..488bd1bb9 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/api/autocrafting/ICraftingPatternContainer.java @@ -5,6 +5,7 @@ import net.minecraft.util.math.BlockPos; import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandlerModifiable; +import javax.annotation.Nullable; import java.util.List; /** @@ -32,8 +33,9 @@ public interface ICraftingPatternContainer { List getPatterns(); /** - * @return the pattern inventory + * @return the pattern inventory, or null if no pattern is present */ + @Nullable IItemHandlerModifiable getPatternInventory(); /** diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java index 575770dae..345769489 100644 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/autocrafting/CraftingManager.java @@ -302,11 +302,11 @@ public class CraftingManager implements ICraftingManager { patterns.addAll(container.getPatterns()); - if (!containerInventories.containsKey(container.getName())) { - containerInventories.put(container.getName(), new ArrayList<>()); - } + IItemHandlerModifiable handler = container.getPatternInventory(); - containerInventories.get(container.getName()).add(container.getPatternInventory()); + if (handler != null) { + containerInventories.computeIfAbsent(container.getName(), k -> new ArrayList<>()).add(handler); + } } } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java index 96b9f8523..b3378e855 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/NetworkNodeCrafter.java @@ -162,6 +162,7 @@ public class NetworkNodeCrafter extends NetworkNode implements ICraftingPatternC } @Override + @Nullable public IItemHandlerModifiable getPatternInventory() { return patterns; }