diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/grid/ItemGridHandler.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/grid/ItemGridHandler.java index 1b778e6cc..be3fee5a8 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/grid/ItemGridHandler.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/grid/ItemGridHandler.java @@ -78,16 +78,14 @@ public class ItemGridHandler implements IItemGridHandler { if (ItemHandlerHelper.insertItem(playerInventory, took, true).isEmpty()) { took = network.extractItem(item, size, false); - if (took != null) { // Safe guard: we never know if the extracted item will suddenly be null (can happen with weird external storage setups) - ItemHandlerHelper.insertItem(playerInventory, took, false); - } + ItemHandlerHelper.insertItem(playerInventory, took, false); } } else { took = network.extractItem(item, size, false); if (single && !held.isEmpty()) { held.grow(1); - } else if (took != null) { // Safe guard: we never know if the extracted item will suddenly be null (can happen with weird external storage setups) + } else { player.inventory.setItemStack(took); } diff --git a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java index 67b91ab26..f9ec7db44 100755 --- a/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java +++ b/src/main/java/com/raoulvdberge/refinedstorage/apiimpl/network/node/externalstorage/NetworkNodeExternalStorage.java @@ -15,6 +15,7 @@ import com.raoulvdberge.refinedstorage.integration.cyclopscore.IntegrationCyclop import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid; import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode; +import com.raoulvdberge.refinedstorage.proxy.CapabilityNetworkNodeProxy; import com.raoulvdberge.refinedstorage.tile.TileExternalStorage; import com.raoulvdberge.refinedstorage.tile.config.*; import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter; @@ -206,7 +207,7 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP })); } else if (IntegrationCyclopsCore.isLoaded() && StorageItemCyclops.isValid(facing, getDirection().getOpposite())) { itemStorages.add(new StorageItemCyclops(this)); - } else if (facing != null) { + } else if (facing != null && !(facing.hasCapability(CapabilityNetworkNodeProxy.NETWORK_NODE_PROXY_CAPABILITY, getDirection().getOpposite()) && facing.getCapability(CapabilityNetworkNodeProxy.NETWORK_NODE_PROXY_CAPABILITY, getDirection().getOpposite()).getNode() instanceof IStorageProvider)) { IItemHandler itemHandler = RSUtils.getItemHandler(facing, getDirection().getOpposite()); if (itemHandler != null) {