diff --git a/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/CrossOpenComputers.java b/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/CrossOpenComputers.java index aa5580f6..9d161976 100644 --- a/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/CrossOpenComputers.java +++ b/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/CrossOpenComputers.java @@ -25,5 +25,6 @@ public static void addDrivers(){ Driver.add(new DriverThermalMonitor()); Driver.add(new DriverHowlerAlarm()); Driver.add(new DriverAverageCounter()); + Driver.add(new DriverEnergyCounter()); } } diff --git a/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverAverageCounter.java b/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverAverageCounter.java index 1eee1dc8..70f2d04d 100644 --- a/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverAverageCounter.java +++ b/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverAverageCounter.java @@ -4,7 +4,6 @@ import li.cil.oc.api.machine.Arguments; import li.cil.oc.api.machine.Context; -import shedar.mods.ic2.nuclearcontrol.crossmod.opencomputers.DriverInfoPanel.Environment; import li.cil.oc.api.driver.NamedBlock; import li.cil.oc.integration.ManagedTileEntityEnvironment; import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityInfoPanel; @@ -19,7 +18,7 @@ * @author xbony2 */ public class DriverAverageCounter extends DriverTileEntity{ - public static final String NAME = "info_panel"; + public static final String NAME = "average_counter"; @Override public ManagedEnvironment createEnvironment(World world, int x, int y, int z){ diff --git a/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverEnergyCounter.java b/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverEnergyCounter.java new file mode 100644 index 00000000..3770e931 --- /dev/null +++ b/src/main/java/shedar/mods/ic2/nuclearcontrol/crossmod/opencomputers/DriverEnergyCounter.java @@ -0,0 +1,51 @@ +package shedar.mods.ic2.nuclearcontrol.crossmod.opencomputers; + +import li.cil.oc.api.network.ManagedEnvironment; + +import li.cil.oc.api.machine.Callback; +import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityEnergyCounter; +import li.cil.oc.api.driver.NamedBlock; +import li.cil.oc.integration.ManagedTileEntityEnvironment; +import shedar.mods.ic2.nuclearcontrol.tileentities.TileEntityAverageCounter; +import li.cil.oc.api.prefab.DriverTileEntity; +import net.minecraft.world.World; + +public class DriverEnergyCounter extends DriverTileEntity { + public static final String NAME = "energy_counter"; + + @Override + public ManagedEnvironment createEnvironment(World world, int x, int y, int z){ + return new Environment((TileEntityEnergyCounter)world.getTileEntity(x, y, z)); + } + + @Override + public Class getTileEntityClass(){ + return TileEntityEnergyCounter.class; + } + + public static final class Environment extends ManagedTileEntityEnvironment implements NamedBlock{ + public Environment(final TileEntityEnergyCounter tileentity) { + super(tileentity, NAME); + } + + @Override + public String preferredName() { + return NAME; + } + + @Override + public int priority() { + return 0; + } + + @Callback(doc = "function():number -- gets the period (in seconds) of the average counter.") + public Object[] getPeriod(final Context context, final Arguments args){ + return new Object[]{((int)tileEntity.period)}; + } + + @Callback(doc = "function():number -- gets the average of the counter.") + public Object[] getAverage(final Context context, final Arguments args){ + return new Object[]{((int)tileEntity.getClientAverage())}; + } + } +}