diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index dbe789d6e..44553a462 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -20,7 +20,14 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable { +import cpw.mods.fml.common.Optional; +import li.cil.oc.api.machine.Arguments; +import li.cil.oc.api.machine.Callback; +import li.cil.oc.api.machine.Context; +import li.cil.oc.api.network.SimpleComponent; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEnergyGenerator, IFluidAcceptor, ILaserable, SimpleComponent { public long power; public long joules; @@ -163,4 +170,28 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn nbt.setLong("joules", joules); tank.writeToNBT(nbt, "tank"); } + + // do some opencomputer stuff + @Override + public String getComponentName() { + return "dfc_receiver"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getInput(Context context, Arguments args) { + return new Object[] {joules}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getOutput(Context context, Arguments args) { + return new Object[] {power}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCryogel(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } }