Телепорт

Устройство для мгновенного перемещения на большие расстояния. Собственной емкости у него нет, поэтому он берет энергию напрямую из энергохранилища, которое должно стоять вплотную к телепорту.
Подключение и работа
Энергия тратится на каждое перемещение и берется только из отправляющего телепорта, телепорту-приемнику энергия не нужна. Телепорт активируется редстоун сигналом - подойдет кнопка или рычаг, при постоянном сигнале можно случайно получить "петлю" перелетов туда-сюда.
Связь телепортов
Чтобы связать два телепорта, нужен Определитель частоты. ПКМ по первому телепорту записывает частоту в определитель, ПКМ по второму - записывает эту частоту во второй телепорт и создаёт связь. Сбросить частоту в определителе можно ПКМ по любому не-телепорт блоку, после чего его можно использовать для новой пары.
Ограничения и зона захвата
Телепорт переносит сущностей, находящихся в зоне 3x3x3 над телепортом, и выгружает их в блок над принимающим телепортом. Телепортирует игроков, мобов и предметы, но не переносит блоки, жидкости и многие летящие снаряды. Между измерениями работа ограничена.
Как телепорт считает энергию
Телепорт тратит EU по формуле, которая зависит от 2 вещей - расстояния между телепортами и "веса" того, что переносится.
Расстояние
Сначала считается расстояние между точками как обычная евклидова дистанция: берутся разницы координат и считается Distance=sqrt(dx2+dy2+dz2)Distance=sqrt(dx2+dy2+dz2). Здесь dx, dy, dz - это смещение по X, Y, Z между отправляющим и принимающим телепортами.
Вес цели
Дальше считается вес (Weight) того, что телепортируется. Значения такие:
-
Животное (дружелюбный моб) - 100.
-
Враждебный моб - 500.
-
Игрок - 1000 + (100 за каждую надетую часть брони) + (100 за полный стак предметов).
Под "100 за полный стак" имеется в виду, что каждая стопка в инвентаре дает вклад пропорционально заполненности (например, 32 из 64 дают половину от 100).
Итоговая формула EU
После этого считается стоимость телепортации в EU по формуле: Floor(5 * Floor(Weight) * (Floor(Distance) + 10)^0.7). То есть:
-
Weight и Distance сначала округляются вниз до целого (Floor).
-
К расстоянию прибавляется 10, затем результат возводится в степень 0.7.
-
В конце все умножается на 5 и снова округляется вниз.