Merge pull request #26 from GTNewHorizons/add-ic2-teleporter-driver

add abilety to change ic2 teleporter coords
This commit is contained in:
Martin Robertz 2021-01-29 20:17:25 +01:00 committed by GitHub
commit d972b29a78
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 0 deletions

View File

@ -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<TileEntityTeleporter> {
public Environment(final TileEntityTeleporter tileEntity) {
super(tileEntity,"ic2_teleporter");
}
@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[]{};
}
}
}

View File

@ -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)