From 04797294bbc2ec70b35c0ebfc895f85f123972a1 Mon Sep 17 00:00:00 2001 From: AlgorithmX2 Date: Fri, 20 Jun 2014 02:10:02 -0500 Subject: [PATCH] implemented validForPass on all inventory handlers; allowed crafting to skip second pass. --- helpers/WirelessTerminalGuiObject.java | 6 ++++++ me/cache/CraftingCache.java | 6 ++++++ me/storage/CreativeCellInventory.java | 6 ++++++ me/storage/MEInventoryHandler.java | 14 ++++++++++---- me/storage/MEMonitorIInventory.java | 6 ++++++ me/storage/MEPassthru.java | 8 +++++++- me/storage/NetworkInventoryHandler.java | 6 ++++++ me/storage/NullInventory.java | 6 ++++++ me/storage/SecurityInventory.java | 8 +++++++- me/storage/VoidFluidInventory.java | 6 ++++++ me/storage/VoidItemInventory.java | 6 ++++++ tile/crafting/TileMolecularAssembler.java | 6 ++++++ 12 files changed, 78 insertions(+), 6 deletions(-) diff --git a/helpers/WirelessTerminalGuiObject.java b/helpers/WirelessTerminalGuiObject.java index f2ca4d954..c527a08d6 100644 --- a/helpers/WirelessTerminalGuiObject.java +++ b/helpers/WirelessTerminalGuiObject.java @@ -305,4 +305,10 @@ public class WirelessTerminalGuiObject implements IPortableCell, IActionHost return null; } + @Override + public boolean validForPass(int i) + { + return itemStorage.validForPass( i ); + } + } diff --git a/me/cache/CraftingCache.java b/me/cache/CraftingCache.java index 5e00eb922..48fa7561c 100644 --- a/me/cache/CraftingCache.java +++ b/me/cache/CraftingCache.java @@ -300,4 +300,10 @@ public class CraftingCache implements IGridCache, ICraftingProviderHelper, ICell return o; } + @Override + public boolean validForPass(int i) + { + return i == 1; + } + } diff --git a/me/storage/CreativeCellInventory.java b/me/storage/CreativeCellInventory.java index 6ad6b6f1d..6b8e4c285 100644 --- a/me/storage/CreativeCellInventory.java +++ b/me/storage/CreativeCellInventory.java @@ -106,4 +106,10 @@ public class CreativeCellInventory implements IMEInventoryHandler return 0; } + @Override + public boolean validForPass(int i) + { + return true; + } + } diff --git a/me/storage/MEInventoryHandler.java b/me/storage/MEInventoryHandler.java index 5a239e84b..27e4d1367 100644 --- a/me/storage/MEInventoryHandler.java +++ b/me/storage/MEInventoryHandler.java @@ -15,7 +15,7 @@ import appeng.util.prioitylist.IPartitionList; public class MEInventoryHandler> implements IMEInventoryHandler { - + Class clz; final protected IMEMonitor monitor; final protected IMEInventoryHandler internal; @@ -25,13 +25,13 @@ public class MEInventoryHandler> implements IMEInventoryHa public AccessRestriction myAccess = AccessRestriction.READ_WRITE; public IPartitionList myPartitionList = new DefaultPriorityList(); - public MEInventoryHandler(IMEInventory i,Class cla) { + public MEInventoryHandler(IMEInventory i, Class cla) { clz = cla; - + if ( i instanceof IMEInventoryHandler ) internal = (IMEInventoryHandler) i; else - internal = new MEPassthru( i,clz ); + internal = new MEPassthru( i, clz ); monitor = internal instanceof IMEMonitor ? (IMEMonitor) internal : null; } @@ -113,4 +113,10 @@ public class MEInventoryHandler> implements IMEInventoryHa return internal; } + @Override + public boolean validForPass(int i) + { + return true; + } + } diff --git a/me/storage/MEMonitorIInventory.java b/me/storage/MEMonitorIInventory.java index fb9911c90..f4e4dcbb7 100644 --- a/me/storage/MEMonitorIInventory.java +++ b/me/storage/MEMonitorIInventory.java @@ -245,4 +245,10 @@ public class MEMonitorIInventory implements IMEInventory, IMEMonit return StorageChannel.ITEMS; } + @Override + public boolean validForPass(int i) + { + return true; + } + } diff --git a/me/storage/MEPassthru.java b/me/storage/MEPassthru.java index 3bfbb7c7b..d6a2b58a5 100644 --- a/me/storage/MEPassthru.java +++ b/me/storage/MEPassthru.java @@ -20,7 +20,7 @@ public class MEPassthru> implements IMEInventoryHandler return internal; } - public MEPassthru(IMEInventory i,Class cla) { + public MEPassthru(IMEInventory i, Class cla) { setInternal( i ); clz = cla; } @@ -84,4 +84,10 @@ public class MEPassthru> implements IMEInventoryHandler return 0; } + @Override + public boolean validForPass(int i) + { + return true; + } + } diff --git a/me/storage/NetworkInventoryHandler.java b/me/storage/NetworkInventoryHandler.java index cd4374464..efcf34594 100644 --- a/me/storage/NetworkInventoryHandler.java +++ b/me/storage/NetworkInventoryHandler.java @@ -272,4 +272,10 @@ public class NetworkInventoryHandler> implements IMEInvent return 0; } + @Override + public boolean validForPass(int i) + { + return true; + } + } diff --git a/me/storage/NullInventory.java b/me/storage/NullInventory.java index 877c87f44..bf77b4708 100644 --- a/me/storage/NullInventory.java +++ b/me/storage/NullInventory.java @@ -65,4 +65,10 @@ public class NullInventory> implements IMEInventoryHandler return 0; } + @Override + public boolean validForPass(int i) + { + return i == 2; + } + } diff --git a/me/storage/SecurityInventory.java b/me/storage/SecurityInventory.java index ab12fd77b..7673b0b5a 100644 --- a/me/storage/SecurityInventory.java +++ b/me/storage/SecurityInventory.java @@ -19,7 +19,7 @@ public class SecurityInventory implements IMEInventoryHandler { final TileSecurity securityTile; - final public IItemList storedItems = new ItemList(IAEItemStack.class); + final public IItemList storedItems = new ItemList( IAEItemStack.class ); public SecurityInventory(TileSecurity ts) { securityTile = ts; @@ -146,4 +146,10 @@ public class SecurityInventory implements IMEInventoryHandler return 0; } + @Override + public boolean validForPass(int i) + { + return true; + } + } diff --git a/me/storage/VoidFluidInventory.java b/me/storage/VoidFluidInventory.java index 71c98cf0e..23c0912ec 100644 --- a/me/storage/VoidFluidInventory.java +++ b/me/storage/VoidFluidInventory.java @@ -74,4 +74,10 @@ public class VoidFluidInventory implements IMEInventoryHandler return 0; } + @Override + public boolean validForPass(int i) + { + return i == 2; + } + } diff --git a/me/storage/VoidItemInventory.java b/me/storage/VoidItemInventory.java index 7bfd14816..ef4c5d6e4 100644 --- a/me/storage/VoidItemInventory.java +++ b/me/storage/VoidItemInventory.java @@ -74,4 +74,10 @@ public class VoidItemInventory implements IMEInventoryHandler return 0; } + @Override + public boolean validForPass(int i) + { + return i == 2; + } + } diff --git a/tile/crafting/TileMolecularAssembler.java b/tile/crafting/TileMolecularAssembler.java index b1f8920e7..01b8ecb23 100644 --- a/tile/crafting/TileMolecularAssembler.java +++ b/tile/crafting/TileMolecularAssembler.java @@ -219,6 +219,12 @@ public class TileMolecularAssembler extends AENetworkInvTile implements IAEAppEn return false; } + @Override + public boolean acceptsPlans() + { + return inv.getStackInSlot( 10 ) == null; + } + private boolean hasPattern() { return myPlan != null && inv.getStackInSlot( 10 ) != null;