From b70c86542b70f22c86c802b716b01df3f227e793 Mon Sep 17 00:00:00 2001 From: yueh Date: Fri, 1 Dec 2017 21:13:23 +0100 Subject: [PATCH] Fixes #3255: Cache invalid patterns instead computing them every frame. (#3256) --- src/main/java/appeng/items/misc/ItemEncodedPattern.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/main/java/appeng/items/misc/ItemEncodedPattern.java b/src/main/java/appeng/items/misc/ItemEncodedPattern.java index 11f25ed20..7f64305a0 100644 --- a/src/main/java/appeng/items/misc/ItemEncodedPattern.java +++ b/src/main/java/appeng/items/misc/ItemEncodedPattern.java @@ -211,6 +211,7 @@ public class ItemEncodedPattern extends AEBaseItem implements ICraftingPatternIt public ItemStack getOutput( final ItemStack item ) { ItemStack out = SIMPLE_CACHE.get( item ); + if( out != null ) { return out; @@ -224,12 +225,9 @@ public class ItemEncodedPattern extends AEBaseItem implements ICraftingPatternIt final ICraftingPatternDetails details = this.getPatternForItem( item, w ); - if( details == null ) - { - return ItemStack.EMPTY; - } + out = details != null ? details.getOutputs()[0].createItemStack() : ItemStack.EMPTY; - SIMPLE_CACHE.put( item, out = details.getCondensedOutputs()[0].createItemStack() ); + SIMPLE_CACHE.put( item, out ); return out; } }