From 46adbf3273c247ce1fdbbbfe5b4fefcb9c5d9dba Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Fri, 13 May 2022 16:20:40 +1000 Subject: [PATCH] Update TileEntityReactorZirnox.java --- .../machine/TileEntityReactorZirnox.java | 53 ++++++++++++++++++- 1 file changed, 51 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index ec45881d5..a82e12da9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -36,7 +36,14 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver { +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 TileEntityReactorZirnox extends TileEntityMachineBase implements IFluidContainer, IFluidAcceptor, IFluidSource, IControlReceiver, SimpleComponent { public int heat; public static final int maxHeat = 100000; @@ -498,4 +505,46 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF this.markDirty(); } -} \ No newline at end of file + // do some opencomputer stuff + @Override + public String getComponentName() { + return "zirnox_reactor"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getTemp(Context context, Arguments args) { // or getHeat, whatever. + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getPressure(Context context, Arguments args) { + return new Object[] {pressure}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getWater(Context context, Arguments args) { + return new Object[] {water.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCarbonDioxide(Context context, Arguments args) { + return new Object[] {carbonDioxide.getFill()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] isActive(Context context, Arguments args) { + return new Object[] {isOn}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setActive(Context context, Arguments args) { + isOn = Boolean.parseBoolean(args.checkString(0)); + return new Object[] {}; + } +}