mirror of
https://github.com/MightyPirates/OpenComputers.git
synced 2025-09-24 04:50:30 -04:00
added setActive for IC2-OC driver, so that the reactor switch can be directly controlled by adapter, instead of using the redstone I/O.
This commit is contained in:
parent
96be9d0559
commit
9eb2658a39
@ -1,6 +1,8 @@
|
||||
package li.cil.oc.integration.ic2;
|
||||
|
||||
import ic2.api.reactor.IReactor;
|
||||
import ic2.core.block.TileEntityBlock;
|
||||
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
|
||||
import li.cil.oc.api.driver.NamedBlock;
|
||||
import li.cil.oc.api.machine.Arguments;
|
||||
import li.cil.oc.api.machine.Callback;
|
||||
@ -38,6 +40,16 @@ public final class DriverReactor extends DriverSidedTileEntity {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Callback(doc = "function(active:boolean): boolean -- activate or deactivate the reactor")
|
||||
public Object[] setActive(final Context context, final Arguments args) {
|
||||
TileEntityNuclearReactorElectric reactor = (TileEntityNuclearReactorElectric) tileEntity;
|
||||
if(reactor != null) {
|
||||
reactor.setRedstoneSignal(args.optBoolean(0, false));
|
||||
return new Object[]{reactor.receiveredstone()};
|
||||
}
|
||||
return new Object[]{false};
|
||||
}
|
||||
|
||||
@Callback(doc = "function():number -- Get the reactor's heat.")
|
||||
public Object[] getHeat(final Context context, final Arguments args) {
|
||||
return new Object[] {tileEntity.getHeat()};
|
||||
|
@ -2,6 +2,8 @@ package li.cil.oc.integration.ic2;
|
||||
|
||||
import ic2.api.reactor.IReactor;
|
||||
import ic2.api.reactor.IReactorChamber;
|
||||
import ic2.core.block.TileEntityBlock;
|
||||
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
|
||||
import li.cil.oc.api.driver.NamedBlock;
|
||||
import li.cil.oc.api.machine.Arguments;
|
||||
import li.cil.oc.api.machine.Callback;
|
||||
@ -39,6 +41,15 @@ public final class DriverReactorChamber extends DriverSidedTileEntity {
|
||||
return 0;
|
||||
}
|
||||
|
||||
@Callback(doc = "function(active:boolean): boolean -- activate or deactivate the reactor")
|
||||
public Object[] setActive(final Context context, final Arguments args) {
|
||||
TileEntityNuclearReactorElectric reactor = (TileEntityNuclearReactorElectric) tileEntity.getReactor();
|
||||
if(reactor != null) {
|
||||
reactor.setRedstoneSignal(args.optBoolean(0, false));
|
||||
return new Object[]{reactor.receiveredstone()};
|
||||
}
|
||||
return new Object[]{false};
|
||||
}
|
||||
@Callback(doc = "function():number -- Get the reactor's heat.")
|
||||
public Object[] getHeat(final Context context, final Arguments args) {
|
||||
final IReactor reactor = tileEntity.getReactor();
|
||||
|
@ -2,6 +2,9 @@ package li.cil.oc.integration.ic2;
|
||||
|
||||
import ic2.api.reactor.IReactor;
|
||||
import ic2.api.reactor.IReactorChamber;
|
||||
import ic2.core.block.TileEntityBlock;
|
||||
import ic2.core.block.reactor.tileentity.TileEntityNuclearReactorElectric;
|
||||
import ic2.core.block.reactor.tileentity.TileEntityReactorChamberElectric;
|
||||
import ic2.core.block.reactor.tileentity.TileEntityReactorRedstonePort;
|
||||
import li.cil.oc.api.driver.NamedBlock;
|
||||
import li.cil.oc.api.machine.Arguments;
|
||||
@ -52,6 +55,17 @@ public final class DriverReactorRedstonePort extends DriverSidedTileEntity {
|
||||
}
|
||||
}
|
||||
|
||||
@Callback(doc = "function(active:boolean): boolean -- activate or deactivate the reactor")
|
||||
public Object[] setActive(final Context context, final Arguments args) {
|
||||
TileEntityReactorChamberElectric reactorChamberElectric = (TileEntityReactorChamberElectric) tileEntity.getReactor();
|
||||
TileEntityNuclearReactorElectric reactor = reactorChamberElectric.getReactor();
|
||||
if(reactor != null) {
|
||||
reactor.setRedstoneSignal(args.optBoolean(0, false));
|
||||
return new Object[]{reactor.receiveredstone()};
|
||||
}
|
||||
return new Object[]{false};
|
||||
}
|
||||
|
||||
@Callback(doc = "function():number -- Get the reactor's heat.")
|
||||
public Object[] getHeat(final Context context, final Arguments args) {
|
||||
final IReactor reactor = getReactor();
|
||||
|
Loading…
x
Reference in New Issue
Block a user