diff --git a/src/main/scala/li/cil/oc/common/tileentity/traits/power/AppliedEnergistics2.scala b/src/main/scala/li/cil/oc/common/tileentity/traits/power/AppliedEnergistics2.scala index e1c488deb..04de75c44 100644 --- a/src/main/scala/li/cil/oc/common/tileentity/traits/power/AppliedEnergistics2.scala +++ b/src/main/scala/li/cil/oc/common/tileentity/traits/power/AppliedEnergistics2.scala @@ -130,7 +130,16 @@ class AppliedEnergistics2GridBlock(val tileEntity: AppliedEnergistics2) extends override def setNetworkStatus(p1: IGrid, p2: Int): Unit = {} - override def getConnectableSides: util.EnumSet[EnumFacing] = util.EnumSet.copyOf(JavaConversions.asJavaCollection(EnumFacing.values.filter(tileEntity.canConnectPower))) + override def getConnectableSides: util.EnumSet[EnumFacing] = { + val connectableSides = JavaConversions.asJavaCollection(EnumFacing.values.filter(tileEntity.canConnectPower)) + if (connectableSides.isEmpty) { + val s = util.EnumSet.copyOf(JavaConversions.asJavaCollection(EnumFacing.values)) + s.clear() + s + } + else + util.EnumSet.copyOf(connectableSides) + } override def getMachine: IGridHost = tileEntity.asInstanceOf[IGridHost] diff --git a/src/main/scala/li/cil/oc/integration/appeng/ConverterCellInventory.java b/src/main/scala/li/cil/oc/integration/appeng/ConverterCellInventory.java index 10234cbee..d3499f887 100644 --- a/src/main/scala/li/cil/oc/integration/appeng/ConverterCellInventory.java +++ b/src/main/scala/li/cil/oc/integration/appeng/ConverterCellInventory.java @@ -1,10 +1,13 @@ package li.cil.oc.integration.appeng; import appeng.api.AEApi; +import appeng.api.implementations.items.IStorageCell; import appeng.api.storage.ICellInventory; import appeng.api.storage.ICellInventoryHandler; +import appeng.api.storage.IMEInventoryHandler; import appeng.api.storage.channels.IItemStorageChannel; import li.cil.oc.api.driver.Converter; +import net.minecraft.item.ItemStack; import java.util.Map; @@ -32,6 +35,10 @@ public final class ConverterCellInventory implements Converter { output.put("name", cell.getItemStack().getDisplayName()); } else if (value instanceof ICellInventoryHandler) { convert(((ICellInventoryHandler) value).getCellInv(), output); + } else if ((value instanceof ItemStack) && (((ItemStack)value).getItem() instanceof IStorageCell)) { + IMEInventoryHandler inventory = AEApi.instance().registries().cell().getCellInventory((ItemStack) value, null, AEApi.instance().storage().getStorageChannel(IItemStorageChannel.class)); + if (inventory != null) + convert(((ICellInventoryHandler) inventory).getCellInv(), output); } } }