From 99ddd24f8afaed7d93ca671fbd2c6c525922555b Mon Sep 17 00:00:00 2001 From: Raoul Van den Berge Date: Tue, 1 Nov 2016 20:24:08 +0100 Subject: [PATCH] Should fix #567 --- .../raoulvdberge/refinedstorage/tile/TileCrafter.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java index b530e09b3..141dc000e 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/tile/TileCrafter.java @@ -42,7 +42,15 @@ public class TileCrafter extends TileNode implements ICraftingPatternContainer { private static final String NBT_TRIGGERED_AUTOCRAFTING = "TriggeredAutocrafting"; - private ItemHandlerBasic patterns = new ItemHandlerBasic(9, this, s -> s.getItem() instanceof ICraftingPatternProvider && ((ICraftingPatternProvider) s.getItem()).create(worldObj, s, this).isValid()) { + private ItemHandlerBasic patterns = new ItemHandlerBasic(9, this, s -> { + // We can only validate the crafting pattern if the world exists. + // If the world doesn't exist, this is probably called while reading and in that case it doesn't matter. + if (worldObj != null) { + return s.getItem() instanceof ICraftingPatternProvider && ((ICraftingPatternProvider) s.getItem()).create(worldObj, s, this).isValid(); + } + + return true; + }) { @Override protected void onContentsChanged(int slot) { super.onContentsChanged(slot);