From 52da4f9528b15cd033e6bf9d1c8e25c58b6549da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salom=C3=A3o?= Date: Sat, 5 Jun 2021 18:54:26 -0300 Subject: [PATCH] fix shift-clicking patterns from pattern slot sometimes voiding them --- .../implementations/ContainerPatternTerm.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/appeng/container/implementations/ContainerPatternTerm.java b/src/main/java/appeng/container/implementations/ContainerPatternTerm.java index 1da5c5c10..daa615baf 100644 --- a/src/main/java/appeng/container/implementations/ContainerPatternTerm.java +++ b/src/main/java/appeng/container/implementations/ContainerPatternTerm.java @@ -134,14 +134,16 @@ public class ContainerPatternTerm extends ContainerMEMonitorable implements IAEA { return ItemStack.EMPTY; } - - final AppEngSlot clickSlot = ( AppEngSlot ) this.inventorySlots.get( idx ); // require AE SLots! - ItemStack itemStack = clickSlot.getStack(); - if( AEApi.instance().definitions().materials().blankPattern().isSameAs( itemStack ) ) + if( this.inventorySlots.get( idx ) instanceof SlotPlayerInv || this.inventorySlots.get( idx ) instanceof SlotPlayerHotBar ) { - IItemHandler patternInv = this.getPatternTerminal().getInventoryByName( "pattern" ); - ItemStack remainder = patternInv.insertItem( 0, itemStack, false ); - clickSlot.putStack( remainder ); + final AppEngSlot clickSlot = ( AppEngSlot ) this.inventorySlots.get( idx ); // require AE SLots! + ItemStack itemStack = clickSlot.getStack(); + if( AEApi.instance().definitions().materials().blankPattern().isSameAs( itemStack ) ) + { + IItemHandler patternInv = this.getPatternTerminal().getInventoryByName( "pattern" ); + ItemStack remainder = patternInv.insertItem( 0, itemStack, false ); + clickSlot.putStack( remainder ); + } } return super.transferStackInSlot( p, idx ); }