Don't allow external storage on storage providers. Interfaces are still allowed obviously
This commit is contained in:
@@ -78,16 +78,14 @@ public class ItemGridHandler implements IItemGridHandler {
|
|||||||
if (ItemHandlerHelper.insertItem(playerInventory, took, true).isEmpty()) {
|
if (ItemHandlerHelper.insertItem(playerInventory, took, true).isEmpty()) {
|
||||||
took = network.extractItem(item, size, false);
|
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 {
|
} else {
|
||||||
took = network.extractItem(item, size, false);
|
took = network.extractItem(item, size, false);
|
||||||
|
|
||||||
if (single && !held.isEmpty()) {
|
if (single && !held.isEmpty()) {
|
||||||
held.grow(1);
|
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);
|
player.inventory.setItemStack(took);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@ import com.raoulvdberge.refinedstorage.integration.cyclopscore.IntegrationCyclop
|
|||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||||
|
import com.raoulvdberge.refinedstorage.proxy.CapabilityNetworkNodeProxy;
|
||||||
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
|
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
|
||||||
import com.raoulvdberge.refinedstorage.tile.config.*;
|
import com.raoulvdberge.refinedstorage.tile.config.*;
|
||||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
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())) {
|
} else if (IntegrationCyclopsCore.isLoaded() && StorageItemCyclops.isValid(facing, getDirection().getOpposite())) {
|
||||||
itemStorages.add(new StorageItemCyclops(this));
|
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());
|
IItemHandler itemHandler = RSUtils.getItemHandler(facing, getDirection().getOpposite());
|
||||||
|
|
||||||
if (itemHandler != null) {
|
if (itemHandler != null) {
|
||||||
|
Reference in New Issue
Block a user