Teleporter (IndustrialCraft 2)

The Teleporter is a machine in IndustrialCraft 2 that is used to instantly transport players, animals, and mobs over a distance to another Teleporter. The EU cost of the teleportation depends on the distance covered, and the weight of what is being teleported.

Recipe
The Teleporter is created with four Advanced Circuits, two Glass Fibre Cables, one Advanced Machine Casing, one Frequency Transmitter, and one Diamond.

Powering the Teleporter
Due to the large amount of EU used to teleport, it is not sufficient to connect a Teleporter to the EU network with Cables; not enough EU could be provided quickly enough. Instead, the Teleporter must be placed directly touching an EU storage unit: Batboxes, MFE's, MFSU's, LESU's, IESU's, and AESU's all work. The EU cost of teleporting will be shared equally between any EU storage units that are adjacent to the Teleporter.

Calculating the EU Cost
The Teleporter uses a somewhat complicated formula for determining how many EU's are needed to perform one teleportation: EU cost = floor(5 * floor(weight) * (floor(distance) + 10)^0.7) This formula has two key variables, weight, and distance.

Weight Formula
The calculation for weight is as follows: animal weight = 500 mob weight = 100 player weight = 1000 + armor weight + inventory weight Armor weight can be calculated by the formula: armor weight = 100 * pieces of armor worn Inventory weight can be calculated by the formula: inventory weight = 100 * (items in stack/possible stack size) for each stack of items in the player's inventory

Example Calculation for Weight
Assuming a player is wearing Nano Boots for armor, and has in his inventory 64 Cobblestone, 3 Diamonds, and 6 Snowballs: weight = 1000 + (100 *1) + (100 * (64/64) + 100 * (3/64) + 100 * (6/16)) = 1000 +  100    + (100 *    1    + 100 * 0.047  + 100 *  0.375)        = 1000 +   100    + (     100      +      4.7     +     37.5    )        = 1000 +   100    + 142.2        = 1242.2 total player weight

Distance Formula
The calculation for distance is as follows: distance = sqrt((x distance)^2 + (y distance)^2 + (z distance)^2) The three axis distance variables can be calculated with the following formulae: x distance = end x coordinate - start x coordinate y distance = end y coordinate - start y coordinate z distance = end z coordinate - start z coordinate

Example Calculation for Distance
If the first Teleporter is placed at (25, 60, -40), and the second Teleporter is placed at (40, 35, -30), the total distance is: distance = sqrt((40 - 25)^2 + (35 - 60)^2 + (-30 - -40)^2) = sqrt(( 15   )^2 + (  -25  )^2 + (    10   )^2) = sqrt(    225    +    625      +     100      ) = sqrt(950) = 30.82 total distance

Example Finished Calculation
Assuming the figures in the examples above, the total EU cost for one teleportation is: EU cost = floor(5 * floor(1242.2) * (floor(30.82) + 10)^0.7) = floor(5 *    1242      * (     30      + 10)^0.7) = floor(5 *    1242      * (       40        )^0.7) = floor(               5,978.69                   ) = 5,978 total EU cost

Linking the Teleporter
Two Teleporters must be linked with a Frequency Transmitter before they can be used. To establish the teleportation link between them, they must both be right clicked with the same Frequency Transmitter. A single Frequency Transmitter will always be linked to the Teleporter it is first right clicked on. For instance, given Teleporters A, B, and C, if the Transmitter is right clicked on A, and then B, Teleporter A will link to B. If the same Transmitter is right clicked on C, Teleporter A will then link to C, instead.

Activating the Teleporter
When a linked and powered Teleporter receives a Redstone signal, it activates its teleportation field. Any player, mob, or animal that comes within one Block of the field will be teleported, and the EU cost deducted from the power source. Care must be taken to avoid what is known as a Loop Bug: two linked Teleporters are both powered and activated by Redstone at the same time. If this occurs, the teleportee will bounce between the two rapidly, until one of the Teleporters runs out of power. To avoid this, a Redstone RS latch (to ensure only one of the Teleporters is activated at a time) or pulse limiter (to ensure that the Redstone pulse ends before the other Teleporter's can begin) should be used. RedPower 2 offers both an RS Latch circuit and a Pulse Former circuit that can easily accomplish these tasks.