From 034ff8190c95b59a23fd988ee169dbb88c5eb1d2 Mon Sep 17 00:00:00 2001 From: korneel vandamme Date: Tue, 26 Jan 2021 22:12:04 +0100 Subject: [PATCH 1/2] add abilety to change ic2 teleporter coords --- .../oc/integration/ic2/DriverTeleporter.java | 37 +++++++++++++++++++ .../integration/ic2/ModIndustrialCraft2.scala | 1 + 2 files changed, 38 insertions(+) create mode 100644 src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java diff --git a/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java b/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java new file mode 100644 index 000000000..03a420133 --- /dev/null +++ b/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java @@ -0,0 +1,37 @@ +package li.cil.oc.integration.ic2; + +import ic2.core.block.machine.tileentity.TileEntityTeleporter; +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.ManagedEnvironment; +import li.cil.oc.api.prefab.DriverSidedTileEntity; +import li.cil.oc.integration.ManagedTileEntityEnvironment; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class DriverTeleporter extends DriverSidedTileEntity { + @Override + public Class getTileEntityClass() { + return TileEntityTeleporter.class; + } + + @Override + public ManagedEnvironment createEnvironment(World world, int x, int y, int z, ForgeDirection side) { + return new DriverTeleporter.Environment((TileEntityTeleporter)world.getTileEntity(x, y, z)); + } + + public static final class Environment extends ManagedTileEntityEnvironment { + public Environment(final TileEntityTeleporter tileEntity) { + super(tileEntity,"gt_coloredTE"); + } + @Callback(doc = "function(X:number, Y:number, Z:number)") + public Object[] setCoords(final Context context, final Arguments args) { + if (args.isInteger(0) && args.isInteger(1) && args.isInteger(2)) { + tileEntity.setTarget(args.checkInteger(0), args.checkInteger(1), args.checkInteger(2)); + } + return new Object[]{}; + } + } + +} diff --git a/src/main/scala/li/cil/oc/integration/ic2/ModIndustrialCraft2.scala b/src/main/scala/li/cil/oc/integration/ic2/ModIndustrialCraft2.scala index a33931336..468beb9b1 100644 --- a/src/main/scala/li/cil/oc/integration/ic2/ModIndustrialCraft2.scala +++ b/src/main/scala/li/cil/oc/integration/ic2/ModIndustrialCraft2.scala @@ -32,6 +32,7 @@ object ModIndustrialCraft2 extends ModProxy { Driver.add(new DriverEnergyStorage) Driver.add(new DriverReactor) Driver.add(new DriverReactorChamber) + Driver.add(new DriverTeleporter) Driver.add(new ConverterElectricItem) Driver.add(new ConverterBaseSeed) From b61475b23d5a0c5f57f62835a407040e1ed83575 Mon Sep 17 00:00:00 2001 From: DreamMasterXXL Date: Fri, 29 Jan 2021 20:15:44 +0100 Subject: [PATCH 2/2] fix name --- src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java b/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java index 03a420133..64079c215 100644 --- a/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java +++ b/src/main/scala/li/cil/oc/integration/ic2/DriverTeleporter.java @@ -23,7 +23,7 @@ public class DriverTeleporter extends DriverSidedTileEntity { public static final class Environment extends ManagedTileEntityEnvironment { public Environment(final TileEntityTeleporter tileEntity) { - super(tileEntity,"gt_coloredTE"); + super(tileEntity,"ic2_teleporter"); } @Callback(doc = "function(X:number, Y:number, Z:number)") public Object[] setCoords(final Context context, final Arguments args) {