From ea54ccbcf5fbf7c5d98c70616a0f133146679ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Salom=C3=A3o?= Date: Mon, 22 Feb 2021 18:03:43 -0300 Subject: [PATCH] More JEI integration --- .../core/sync/packets/PacketJEIRecipe.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/main/java/appeng/core/sync/packets/PacketJEIRecipe.java b/src/main/java/appeng/core/sync/packets/PacketJEIRecipe.java index a6e10609a..687120824 100644 --- a/src/main/java/appeng/core/sync/packets/PacketJEIRecipe.java +++ b/src/main/java/appeng/core/sync/packets/PacketJEIRecipe.java @@ -24,8 +24,10 @@ import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOException; import java.util.Collection; +import java.util.Iterator; import appeng.api.config.FuzzyMode; +import appeng.api.storage.data.IItemList; import appeng.container.implementations.ContainerPatternTerm; import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; @@ -208,7 +210,7 @@ public class PacketJEIRecipe extends AppEngPacket IAEItemStack mostDamaged = null; for( IAEItemStack is : outList ) { - if (!is.isCraftable()) + if( !is.isCraftable() ) { if( mostDamaged == null || mostDamaged.getItemDamage() < is.getItemDamage() ) { @@ -235,6 +237,22 @@ public class PacketJEIRecipe extends AppEngPacket // Fall back using an existing item out = storage.extractItems( request, Actionable.SIMULATE, cct.getActionSource() ); } + + if( out == null ) + { + IItemList items = AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ).createList(); + Iterator iterator = inv.getInventory( AEApi.instance().storage().getStorageChannel( IItemStorageChannel.class ) ).getAvailableItems( items ).iterator(); + while ( iterator.hasNext() ) + { + final IAEItemStack o = iterator.next(); + if( o.getDefinition().isItemEqual( request.getDefinition() ) && o.isCraftable() ) + { + out = o; + break; + } + iterator.remove(); + } + } } if( out != null )