This commit is contained in:
raoulvdberge
2016-12-22 03:40:32 +01:00
parent cc41c0d7d9
commit 278c96d984
12 changed files with 92 additions and 55 deletions

View File

@@ -47,7 +47,7 @@ public class NetworkNodeGraph implements INetworkNodeGraph {
if (tile != null && !tile.isInvalid()) { if (tile != null && !tile.isInvalid()) {
if (tile instanceof TileController) { if (tile instanceof TileController) {
removeOtherController(world, pos); removeOtherController(world, pos);
} else { } else if (tile.hasCapability(NETWORK_NODE_PROXY_CAPABILITY, side)) {
INetworkNodeProxy otherNodeProxy = NETWORK_NODE_PROXY_CAPABILITY.cast(tile.getCapability(NETWORK_NODE_PROXY_CAPABILITY, side)); INetworkNodeProxy otherNodeProxy = NETWORK_NODE_PROXY_CAPABILITY.cast(tile.getCapability(NETWORK_NODE_PROXY_CAPABILITY, side));
INetworkNode otherNode = otherNodeProxy.getNode(); INetworkNode otherNode = otherNodeProxy.getNode();

View File

@@ -30,9 +30,6 @@ public abstract class NetworkNode implements INetworkNode, INetworkNeighborhoodA
private boolean active; private boolean active;
public NetworkNode() {
}
public NetworkNode(INetworkNodeHolder holder) { public NetworkNode(INetworkNodeHolder holder) {
this.holder = holder; this.holder = holder;
} }

View File

@@ -1,10 +1,15 @@
package com.raoulvdberge.refinedstorage.apiimpl.network.node; package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
public class NetworkNodeCable extends NetworkNode { public class NetworkNodeCable extends NetworkNode {
public static final String ID = "cable"; public static final String ID = "cable";
public NetworkNodeCable(INetworkNodeHolder holder) {
super(holder);
}
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {
return RS.INSTANCE.config.cableUsage; return RS.INSTANCE.config.cableUsage;

View File

@@ -1,10 +1,15 @@
package com.raoulvdberge.refinedstorage.apiimpl.network.node; package com.raoulvdberge.refinedstorage.apiimpl.network.node;
import com.raoulvdberge.refinedstorage.RS; import com.raoulvdberge.refinedstorage.RS;
import com.raoulvdberge.refinedstorage.tile.INetworkNodeHolder;
public class NetworkNodeNetworkReceiver extends NetworkNode { public class NetworkNodeNetworkReceiver extends NetworkNode {
public static final String ID = "network_receiver"; public static final String ID = "network_receiver";
public NetworkNodeNetworkReceiver(INetworkNodeHolder holder) {
super(holder);
}
@Override @Override
public int getEnergyUsage() { public int getEnergyUsage() {
return RS.INSTANCE.config.networkReceiverUsage; return RS.INSTANCE.config.networkReceiverUsage;

View File

@@ -24,7 +24,6 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity; import net.minecraft.tileentity.TileEntity;
import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.fluids.FluidStack;
import net.minecraftforge.fluids.capability.IFluidHandler; import net.minecraftforge.fluids.capability.IFluidHandler;
import net.minecraftforge.fluids.capability.IFluidTankProperties;
import net.minecraftforge.items.IItemHandler; import net.minecraftforge.items.IItemHandler;
import powercrystals.minefactoryreloaded.api.IDeepStorageUnit; import powercrystals.minefactoryreloaded.api.IDeepStorageUnit;
@@ -188,29 +187,27 @@ public class NetworkNodeExternalStorage extends NetworkNode implements IStorageP
itemStorages.clear(); itemStorages.clear();
fluidStorages.clear(); fluidStorages.clear();
TileEntity facing = holder.world().getTileEntity(holder.pos().offset(holder.getDirection())); TileEntity facing = getFacingTile();
if (type == IType.ITEMS) { if (type == IType.ITEMS) {
if (facing instanceof IDrawerGroup) { if (facing instanceof IDrawerGroup) {
itemStorages.add(new StorageItemDrawerGroup(this, (IDrawerGroup) facing)); itemStorages.add(new StorageItemDrawerGroup(this, () -> (IDrawerGroup) getFacingTile()));
} else if (facing instanceof IDrawer) { } else if (facing instanceof IDrawer) {
itemStorages.add(new StorageItemDrawer(this, (IDrawer) facing)); itemStorages.add(new StorageItemDrawer(this, () -> (IDrawer) getFacingTile()));
} else if (facing instanceof IDeepStorageUnit) { } else if (facing instanceof IDeepStorageUnit) {
itemStorages.add(new StorageItemDSU(this, (IDeepStorageUnit) facing)); itemStorages.add(new StorageItemDSU(this, () -> (IDeepStorageUnit) getFacingTile()));
} else if (!(facing instanceof TileNode)) { } else if (!(facing instanceof TileNode)) {
IItemHandler itemHandler = RSUtils.getItemHandler(facing, holder.getDirection().getOpposite()); IItemHandler itemHandler = RSUtils.getItemHandler(facing, holder.getDirection().getOpposite());
if (itemHandler != null) { if (itemHandler != null) {
itemStorages.add(new StorageItemItemHandler(this, itemHandler)); itemStorages.add(new StorageItemItemHandler(this, () -> RSUtils.getItemHandler(getFacingTile(), holder.getDirection().getOpposite())));
} }
} }
} else if (type == IType.FLUIDS) { } else if (type == IType.FLUIDS) {
IFluidHandler fluidHandler = RSUtils.getFluidHandler(facing, holder.getDirection().getOpposite()); IFluidHandler fluidHandler = RSUtils.getFluidHandler(facing, holder.getDirection().getOpposite());
if (fluidHandler != null) { if (fluidHandler != null) {
for (IFluidTankProperties property : fluidHandler.getTankProperties()) { fluidStorages.add(new StorageFluidExternal(this, () -> RSUtils.getFluidHandler(getFacingTile(), holder.getDirection().getOpposite())));
fluidStorages.add(new StorageFluidExternal(this, fluidHandler, property));
}
} }
} }

View File

@@ -13,19 +13,22 @@ import net.minecraftforge.fluids.capability.IFluidTankProperties;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.function.Supplier;
public class StorageFluidExternal implements IStorage<FluidStack> { public class StorageFluidExternal implements IStorage<FluidStack> {
private FluidStack cache; private FluidStack cache;
private NetworkNodeExternalStorage externalStorage; private NetworkNodeExternalStorage externalStorage;
private IFluidHandler handler; private Supplier<IFluidHandler> handlerSupplier;
public StorageFluidExternal(NetworkNodeExternalStorage externalStorage, IFluidHandler handler, IFluidTankProperties properties) { public StorageFluidExternal(NetworkNodeExternalStorage externalStorage, Supplier<IFluidHandler> handlerSupplier) {
this.externalStorage = externalStorage; this.externalStorage = externalStorage;
this.handler = handler; this.handlerSupplier = handlerSupplier;
} }
private IFluidTankProperties getProperties() { private IFluidTankProperties getProperties() {
IFluidHandler handler = handlerSupplier.get();
return handler.getTankProperties().length != 0 ? handler.getTankProperties()[0] : null; return handler.getTankProperties().length != 0 ? handler.getTankProperties()[0] : null;
} }
@@ -42,7 +45,7 @@ public class StorageFluidExternal implements IStorage<FluidStack> {
@Override @Override
public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) { public FluidStack insert(@Nonnull FluidStack stack, int size, boolean simulate) {
if (getProperties() != null && IFilterable.canTakeFluids(externalStorage.getFluidFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && getProperties().canFillFluidType(stack)) { if (getProperties() != null && IFilterable.canTakeFluids(externalStorage.getFluidFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack) && getProperties().canFillFluidType(stack)) {
int filled = handler.fill(RSUtils.copyStackWithSize(stack, size), !simulate); int filled = handlerSupplier.get().fill(RSUtils.copyStackWithSize(stack, size), !simulate);
if (filled == size) { if (filled == size) {
return null; return null;
@@ -60,7 +63,7 @@ public class StorageFluidExternal implements IStorage<FluidStack> {
FluidStack toDrain = RSUtils.copyStackWithSize(stack, size); FluidStack toDrain = RSUtils.copyStackWithSize(stack, size);
if (API.instance().getComparer().isEqual(getContents(), toDrain, flags)) { if (API.instance().getComparer().isEqual(getContents(), toDrain, flags)) {
return handler.drain(toDrain, !simulate); return handlerSupplier.get().drain(toDrain, !simulate);
} }
return null; return null;

View File

@@ -10,25 +10,28 @@ import net.minecraftforge.items.ItemHandlerHelper;
import powercrystals.minefactoryreloaded.api.IDeepStorageUnit; import powercrystals.minefactoryreloaded.api.IDeepStorageUnit;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.util.function.Supplier;
public class StorageItemDSU extends StorageItemExternal { public class StorageItemDSU extends StorageItemExternal {
private NetworkNodeExternalStorage externalStorage; private NetworkNodeExternalStorage externalStorage;
private IDeepStorageUnit unit; private Supplier<IDeepStorageUnit> dsuSupplier;
public StorageItemDSU(NetworkNodeExternalStorage externalStorage, IDeepStorageUnit unit) { public StorageItemDSU(NetworkNodeExternalStorage externalStorage, Supplier<IDeepStorageUnit> dsuSupplier) {
this.externalStorage = externalStorage; this.externalStorage = externalStorage;
this.unit = unit; this.dsuSupplier = dsuSupplier;
} }
@Override @Override
public int getCapacity() { public int getCapacity() {
return unit.getMaxStoredCount(); return dsuSupplier.get().getMaxStoredCount();
} }
@Override @Override
public NonNullList<ItemStack> getStacks() { public NonNullList<ItemStack> getStacks() {
if (unit.getStoredItemType() != null && unit.getStoredItemType().getCount() > 0) { IDeepStorageUnit dsu = dsuSupplier.get();
return NonNullList.withSize(1, unit.getStoredItemType().copy());
if (dsu.getStoredItemType() != null && dsu.getStoredItemType().getCount() > 0) {
return NonNullList.withSize(1, dsu.getStoredItemType().copy());
} }
return RSUtils.emptyNonNullList(); return RSUtils.emptyNonNullList();
@@ -36,10 +39,12 @@ public class StorageItemDSU extends StorageItemExternal {
@Override @Override
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) { public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
IDeepStorageUnit dsu = dsuSupplier.get();
if (IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack)) { if (IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack)) {
if (unit.getStoredItemType() != null) { if (dsu.getStoredItemType() != null) {
if (API.instance().getComparer().isEqualNoQuantity(unit.getStoredItemType(), stack)) { if (API.instance().getComparer().isEqualNoQuantity(dsu.getStoredItemType(), stack)) {
if (getStored() + size > unit.getMaxStoredCount()) { if (getStored() + size > dsu.getMaxStoredCount()) {
int remainingSpace = getCapacity() - getStored(); int remainingSpace = getCapacity() - getStored();
if (remainingSpace <= 0) { if (remainingSpace <= 0) {
@@ -47,20 +52,20 @@ public class StorageItemDSU extends StorageItemExternal {
} }
if (!simulate) { if (!simulate) {
unit.setStoredItemCount(unit.getStoredItemType().getCount() + remainingSpace); dsu.setStoredItemCount(dsu.getStoredItemType().getCount() + remainingSpace);
} }
return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace); return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
} else { } else {
if (!simulate) { if (!simulate) {
unit.setStoredItemCount(unit.getStoredItemType().getCount() + size); dsu.setStoredItemCount(dsu.getStoredItemType().getCount() + size);
} }
return null; return null;
} }
} }
} else { } else {
if (getStored() + size > unit.getMaxStoredCount()) { if (getStored() + size > dsu.getMaxStoredCount()) {
int remainingSpace = getCapacity() - getStored(); int remainingSpace = getCapacity() - getStored();
if (remainingSpace <= 0) { if (remainingSpace <= 0) {
@@ -68,13 +73,13 @@ public class StorageItemDSU extends StorageItemExternal {
} }
if (!simulate) { if (!simulate) {
unit.setStoredItemType(stack.copy(), remainingSpace); dsu.setStoredItemType(stack.copy(), remainingSpace);
} }
return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace); return ItemHandlerHelper.copyStackWithSize(stack, size - remainingSpace);
} else { } else {
if (!simulate) { if (!simulate) {
unit.setStoredItemType(stack.copy(), size); dsu.setStoredItemType(stack.copy(), size);
} }
return null; return null;
@@ -87,15 +92,17 @@ public class StorageItemDSU extends StorageItemExternal {
@Override @Override
public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) { public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
if (API.instance().getComparer().isEqual(stack, unit.getStoredItemType(), flags)) { IDeepStorageUnit dsu = dsuSupplier.get();
if (size > unit.getStoredItemType().getCount()) {
size = unit.getStoredItemType().getCount(); if (API.instance().getComparer().isEqual(stack, dsu.getStoredItemType(), flags)) {
if (size > dsu.getStoredItemType().getCount()) {
size = dsu.getStoredItemType().getCount();
} }
ItemStack stored = unit.getStoredItemType(); ItemStack stored = dsu.getStoredItemType();
if (!simulate) { if (!simulate) {
unit.setStoredItemCount(stored.getCount() - size); dsu.setStoredItemCount(stored.getCount() - size);
} }
return ItemHandlerHelper.copyStackWithSize(stored, size); return ItemHandlerHelper.copyStackWithSize(stored, size);
@@ -106,7 +113,9 @@ public class StorageItemDSU extends StorageItemExternal {
@Override @Override
public int getStored() { public int getStored() {
return unit.getStoredItemType() != null ? unit.getStoredItemType().getCount() : 0; IDeepStorageUnit dsu = dsuSupplier.get();
return dsu.getStoredItemType() != null ? dsu.getStoredItemType().getCount() : 0;
} }
@Override @Override

View File

@@ -11,39 +11,40 @@ import net.minecraft.util.NonNullList;
import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemHandlerHelper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.util.function.Supplier;
public class StorageItemDrawer extends StorageItemExternal { public class StorageItemDrawer extends StorageItemExternal {
private NetworkNodeExternalStorage externalStorage; private NetworkNodeExternalStorage externalStorage;
private IDrawer drawer; private Supplier<IDrawer> drawerSupplier;
public StorageItemDrawer(NetworkNodeExternalStorage externalStorage, IDrawer drawer) { public StorageItemDrawer(NetworkNodeExternalStorage externalStorage, Supplier<IDrawer> drawerSupplier) {
this.externalStorage = externalStorage; this.externalStorage = externalStorage;
this.drawer = drawer; this.drawerSupplier = drawerSupplier;
} }
@Override @Override
public int getCapacity() { public int getCapacity() {
return drawer.getMaxCapacity(); return drawerSupplier.get().getMaxCapacity();
} }
@Override @Override
public NonNullList<ItemStack> getStacks() { public NonNullList<ItemStack> getStacks() {
return getStacks(drawer); return getStacks(drawerSupplier.get());
} }
@Override @Override
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) { public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
return insert(externalStorage, drawer, stack, size, simulate); return insert(externalStorage, drawerSupplier.get(), stack, size, simulate);
} }
@Override @Override
public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) { public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
return extract(drawer, stack, size, flags, simulate); return extract(drawerSupplier.get(), stack, size, flags, simulate);
} }
@Override @Override
public int getStored() { public int getStored() {
return drawer.getStoredItemCount(); return drawerSupplier.get().getStoredItemCount();
} }
@Override @Override

View File

@@ -7,20 +7,23 @@ import net.minecraft.util.NonNullList;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import java.util.function.Supplier;
public class StorageItemDrawerGroup extends StorageItemExternal { public class StorageItemDrawerGroup extends StorageItemExternal {
private NetworkNodeExternalStorage externalStorage; private NetworkNodeExternalStorage externalStorage;
private IDrawerGroup drawers; private Supplier<IDrawerGroup> groupSupplier;
public StorageItemDrawerGroup(NetworkNodeExternalStorage externalStorage, IDrawerGroup drawers) { public StorageItemDrawerGroup(NetworkNodeExternalStorage externalStorage, Supplier<IDrawerGroup> groupSupplier) {
this.externalStorage = externalStorage; this.externalStorage = externalStorage;
this.drawers = drawers; this.groupSupplier = groupSupplier;
} }
@Override @Override
public NonNullList<ItemStack> getStacks() { public NonNullList<ItemStack> getStacks() {
NonNullList<ItemStack> stacks = NonNullList.create(); NonNullList<ItemStack> stacks = NonNullList.create();
IDrawerGroup drawers = groupSupplier.get();
for (int i = 0; i < drawers.getDrawerCount(); ++i) { for (int i = 0; i < drawers.getDrawerCount(); ++i) {
if (drawers.isDrawerEnabled(i)) { if (drawers.isDrawerEnabled(i)) {
stacks.addAll(StorageItemDrawer.getStacks(drawers.getDrawer(i))); stacks.addAll(StorageItemDrawer.getStacks(drawers.getDrawer(i)));
@@ -34,6 +37,8 @@ public class StorageItemDrawerGroup extends StorageItemExternal {
public int getStored() { public int getStored() {
int stored = 0; int stored = 0;
IDrawerGroup drawers = groupSupplier.get();
for (int i = 0; i < drawers.getDrawerCount(); ++i) { for (int i = 0; i < drawers.getDrawerCount(); ++i) {
if (drawers.isDrawerEnabled(i)) { if (drawers.isDrawerEnabled(i)) {
stored += drawers.getDrawer(i).getStoredItemCount(); stored += drawers.getDrawer(i).getStoredItemCount();
@@ -52,6 +57,8 @@ public class StorageItemDrawerGroup extends StorageItemExternal {
public int getCapacity() { public int getCapacity() {
int capacity = 0; int capacity = 0;
IDrawerGroup drawers = groupSupplier.get();
for (int i = 0; i < drawers.getDrawerCount(); ++i) { for (int i = 0; i < drawers.getDrawerCount(); ++i) {
if (drawers.isDrawerEnabled(i)) { if (drawers.isDrawerEnabled(i)) {
capacity += drawers.getDrawer(i).getMaxCapacity(); capacity += drawers.getDrawer(i).getMaxCapacity();
@@ -66,6 +73,8 @@ public class StorageItemDrawerGroup extends StorageItemExternal {
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) { public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
ItemStack remainder = stack; ItemStack remainder = stack;
IDrawerGroup drawers = groupSupplier.get();
for (int i = 0; i < drawers.getDrawerCount(); ++i) { for (int i = 0; i < drawers.getDrawerCount(); ++i) {
if (drawers.isDrawerEnabled(i)) { if (drawers.isDrawerEnabled(i)) {
remainder = StorageItemDrawer.insert(externalStorage, drawers.getDrawer(i), stack, size, simulate); remainder = StorageItemDrawer.insert(externalStorage, drawers.getDrawer(i), stack, size, simulate);
@@ -86,6 +95,8 @@ public class StorageItemDrawerGroup extends StorageItemExternal {
public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) { public ItemStack extract(@Nonnull ItemStack stack, int size, int flags, boolean simulate) {
int toExtract = size; int toExtract = size;
IDrawerGroup drawers = groupSupplier.get();
ItemStack result = null; ItemStack result = null;
for (int i = 0; i < drawers.getDrawerCount(); ++i) { for (int i = 0; i < drawers.getDrawerCount(); ++i) {

View File

@@ -9,15 +9,16 @@ import net.minecraftforge.items.IItemHandler;
import net.minecraftforge.items.ItemHandlerHelper; import net.minecraftforge.items.ItemHandlerHelper;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import java.util.function.Supplier;
public class StorageItemItemHandler extends StorageItemExternal { public class StorageItemItemHandler extends StorageItemExternal {
private NetworkNodeExternalStorage externalStorage; private NetworkNodeExternalStorage externalStorage;
private IItemHandler handler; private Supplier<IItemHandler> handlerSupplier;
private AccessType lockedAccessType = AccessType.INSERT_EXTRACT; private AccessType lockedAccessType = AccessType.INSERT_EXTRACT;
public StorageItemItemHandler(NetworkNodeExternalStorage externalStorage, IItemHandler handler) { public StorageItemItemHandler(NetworkNodeExternalStorage externalStorage, Supplier<IItemHandler> handlerSupplier) {
this.externalStorage = externalStorage; this.externalStorage = externalStorage;
this.handler = handler; this.handlerSupplier = handlerSupplier;
if (externalStorage.getFacingTile().getBlockType().getUnlocalizedName().equals("tile.ExtraUtils2:TrashCan")) { if (externalStorage.getFacingTile().getBlockType().getUnlocalizedName().equals("tile.ExtraUtils2:TrashCan")) {
lockedAccessType = AccessType.INSERT; lockedAccessType = AccessType.INSERT;
@@ -26,11 +27,13 @@ public class StorageItemItemHandler extends StorageItemExternal {
@Override @Override
public int getCapacity() { public int getCapacity() {
return handler.getSlots() * 64; return handlerSupplier.get().getSlots() * 64;
} }
@Override @Override
public NonNullList<ItemStack> getStacks() { public NonNullList<ItemStack> getStacks() {
IItemHandler handler = handlerSupplier.get();
NonNullList<ItemStack> stacks = NonNullList.withSize(handler.getSlots(), ItemStack.EMPTY); NonNullList<ItemStack> stacks = NonNullList.withSize(handler.getSlots(), ItemStack.EMPTY);
for (int i = 0; i < handler.getSlots(); ++i) { for (int i = 0; i < handler.getSlots(); ++i) {
@@ -43,6 +46,8 @@ public class StorageItemItemHandler extends StorageItemExternal {
@Override @Override
public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) { public ItemStack insert(@Nonnull ItemStack stack, int size, boolean simulate) {
if (IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack)) { if (IFilterable.canTake(externalStorage.getItemFilters(), externalStorage.getMode(), externalStorage.getCompare(), stack)) {
IItemHandler handler = handlerSupplier.get();
return ItemHandlerHelper.insertItem(handler, ItemHandlerHelper.copyStackWithSize(stack, size), simulate); return ItemHandlerHelper.insertItem(handler, ItemHandlerHelper.copyStackWithSize(stack, size), simulate);
} }
@@ -55,6 +60,8 @@ public class StorageItemItemHandler extends StorageItemExternal {
ItemStack received = null; ItemStack received = null;
IItemHandler handler = handlerSupplier.get();
for (int i = 0; i < handler.getSlots(); ++i) { for (int i = 0; i < handler.getSlots(); ++i) {
ItemStack slot = handler.getStackInSlot(i); ItemStack slot = handler.getStackInSlot(i);
@@ -82,6 +89,8 @@ public class StorageItemItemHandler extends StorageItemExternal {
@Override @Override
public int getStored() { public int getStored() {
IItemHandler handler = handlerSupplier.get();
int size = 0; int size = 0;
for (int i = 0; i < handler.getSlots(); ++i) { for (int i = 0; i < handler.getSlots(); ++i) {

View File

@@ -6,6 +6,6 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeCable;
public class TileCable extends TileNode { public class TileCable extends TileNode {
@Override @Override
public INetworkNode createNode() { public INetworkNode createNode() {
return new NetworkNodeCable(); return new NetworkNodeCable(this);
} }
} }

View File

@@ -6,6 +6,6 @@ import com.raoulvdberge.refinedstorage.apiimpl.network.node.NetworkNodeNetworkRe
public class TileNetworkReceiver extends TileNode { public class TileNetworkReceiver extends TileNode {
@Override @Override
public INetworkNode createNode() { public INetworkNode createNode() {
return new NetworkNodeNetworkReceiver(); return new NetworkNodeNetworkReceiver(this);
} }
} }