From 8f69574500ecd73811ada1aa630c5ae299d5bcda Mon Sep 17 00:00:00 2001 From: Timo Ley Date: Sat, 28 Jan 2023 21:20:31 +0100 Subject: [PATCH] fix: improve pattern encoder GUI fixes #5 --- .../appeng/tile/legacy/TilePatternEncoder.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/main/java/appeng/tile/legacy/TilePatternEncoder.java b/src/main/java/appeng/tile/legacy/TilePatternEncoder.java index 61860ad2..a693b3cd 100644 --- a/src/main/java/appeng/tile/legacy/TilePatternEncoder.java +++ b/src/main/java/appeng/tile/legacy/TilePatternEncoder.java @@ -65,6 +65,8 @@ public class TilePatternEncoder extends AEBaseInvTile { ItemStack is = Platform.findMatchingRecipeOutput(ci, this.worldObj); if (is != null) { this.storage.setInventorySlotContents(9, is); + } else { + this.storage.setInventorySlotContents(9, null); } } @@ -74,7 +76,7 @@ public class TilePatternEncoder extends AEBaseInvTile { public void encodePattern() { ItemStack fish = this.storage.getStackInSlot(11); - if (this.storage.getStackInSlot(9) != null) { + if (this.storage.getStackInSlot(9) != null && !this.craftingGridEmpty()) { if (fish == null) { fish = this.storage.decrStackSize(10, 1); } @@ -310,4 +312,14 @@ public class TilePatternEncoder extends AEBaseInvTile { } } } + + public boolean craftingGridEmpty() { + for(int i = 0; i < 9; i++) { + ItemStack stack = this.storage.getStackInSlot(i); + if (stack != null) { + return false; + } + } + return true; + } }