Added support for External Storage on Interfaces and other Refined Storage blocks, so you can keep items in stock easier, fixes #1283
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
### 1.4.11
|
||||
- Removed debug log configuration option, as it's no longer needed (raoulvdberge)
|
||||
- Fixed bug where storages that are removed remain visible (raoulvdberge)
|
||||
- Added support for External Storage on Interfaces and other Refined Storage blocks, so you can keep items in stock easier (raoulvdberge)
|
||||
|
||||
### 1.4.10
|
||||
- Improved performance of network scanning (raoulvdberge)
|
||||
|
||||
@@ -78,14 +78,16 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
if (ItemHandlerHelper.insertItem(playerInventory, took, true).isEmpty()) {
|
||||
took = network.extractItem(item, size, false);
|
||||
|
||||
ItemHandlerHelper.insertItem(playerInventory, took, 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 {
|
||||
} else if (took != null) { // Safe guard: we never know if the extracted item will suddenly be null (can happen with weird external storage setups)
|
||||
player.inventory.setItemStack(took);
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,13 @@ public class NetworkNodeInterface extends NetworkNode implements IComparable {
|
||||
} else {
|
||||
exportItems.getStackInSlot(i).grow(result.getCount());
|
||||
}
|
||||
} else if (upgrades.hasUpgrade(ItemUpgrade.TYPE_CRAFTING)) {
|
||||
}
|
||||
|
||||
// Example: our delta is 5, we extracted 3 items.
|
||||
// That means we still have to autocraft 2 items.
|
||||
delta -= result == null ? 0 : result.getCount();
|
||||
|
||||
if (delta > 0 && upgrades.hasUpgrade(ItemUpgrade.TYPE_CRAFTING)) {
|
||||
network.getCraftingManager().schedule(wanted, delta, compare);
|
||||
}
|
||||
} else if (delta < 0) {
|
||||
|
||||
@@ -16,7 +16,6 @@ import com.raoulvdberge.refinedstorage.inventory.ItemHandlerBase;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerFluid;
|
||||
import com.raoulvdberge.refinedstorage.inventory.ItemHandlerListenerNetworkNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileExternalStorage;
|
||||
import com.raoulvdberge.refinedstorage.tile.TileNode;
|
||||
import com.raoulvdberge.refinedstorage.tile.config.*;
|
||||
import com.raoulvdberge.refinedstorage.tile.data.TileDataParameter;
|
||||
import net.minecraft.item.ItemStack;
|
||||
@@ -66,9 +65,6 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
|
||||
super.onConnectedStateChange(network, state);
|
||||
|
||||
updateStorage(network);
|
||||
|
||||
network.getItemStorageCache().invalidate();
|
||||
network.getFluidStorageCache().invalidate();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -210,7 +206,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 instanceof TileNode)) {
|
||||
} else if (facing != null) {
|
||||
IItemHandler itemHandler = RSUtils.getItemHandler(facing, getDirection().getOpposite());
|
||||
|
||||
if (itemHandler != null) {
|
||||
|
||||
Reference in New Issue
Block a user