Don't allow external storage on storage providers. Interfaces are still allowed obviously

This commit is contained in:
raoulvdberge
2017-06-05 14:11:20 +02:00
parent b18b37a1d3
commit b4e7cf9052
2 changed files with 4 additions and 5 deletions

View File

@@ -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);
}
}
} 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);
}

View File

@@ -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) {