В данной статье приводится полное описание и примеры применения функций варп-ядра. Все функции вызываются через консоль lua в компьютерах из ComputerCraft. Для взаимодействия с ядром (читай: использования любых функций) вам понадобится интерфейс ядра, действующий как периферийное устройство ComputerCraft.
Начало работы[]
См. использование интерфейса ядра.
Не забудь вызывать findCore() у интерфейса, когда подключаешься к нему, ёпта. Иначе он выдавать ошибку 5, означающую, что ядро не найдено.
Возвращаемые значения функций[]
Все функции, при выполнении которых не может произойти ошибки (пример: getMode), возвращают только одно значение.
Все функции, которые при выполнении имеют шанс потерпеть неудачу, возвращают два значения: первое - код ошибки (равен 0 в случае успеха), второе - собственно, результат выполнения функции. Не забывайте проверять успешность выполнения функции: в случае ошибки второе возвращаемое значение использовать крайне не рекомендуется (если вы это сделаете, к вам придёт Попобава).
Пример:
yoba = peripheral.wrap("back") --подключаем компьютер к интерфейсу варп-ядра print( yoba.getMode() ) --выведет текущий режим ядра; функция не может не сработать, поэтому не проверяем код ошибки errorCode, result = yoba.getX() --функция getX() требует 10 000 EU для успешного выполнения if (errorCode == 0) then print( "Warp Core x-coord = ", result) --успешное выполнение, выводим результат else print( "Not enough energy!" ) --ошибка. Т.к. недостаток энергии - единственная возможная ошибка у getX(), мы не производим дополнительного сравнения [[Коды ошибок|кода ошибки]].
Собственные функции ядра[]
Для использования этих функций дополнительные модули не нужны.
Возвращают код ошибки и значение:
- getX() - получает x-координату ядра, потребляет 10 000 EU (вы внимательно прочитали про возвращаемые значения, не так ли?)
- getY() - получает y-координату ядра, потребляет 10 000 EU
- getZ() - получает z-координату ядра, потребляет 10 000 EU
Возвращают только значение:
- setMode() - устанавливает режим ядра(0-2)
- getSizeX() - получает размер корабля по оси X
- getSizeY() - получает размер корабля по оси Y
- getSizeZ() - получает размер корабля по оси Z
- getSize() - получает сумму размеров корабля
- getMode() - выводит код текущего режима ядра
- getNextMode() - если ядро находится в процессе смены режима, выводит код режима, на который переключается ядро. Иначе выводит то же, что и getMode()
- getCooldown() - выводит оставшийся кулдаун ядра (в тиках). Не все действия подвержены кулдауну, в основном он влияет на прыги
- getActivatingEnergy() - возвращает количество энергии, которое ядру необходимо поглотить до завершения процесса активации. Работает только во время смены режима.
- getWakingTime() - возвращает время, оставшееся до завершения пробуждения(из 1 в 2).
Функции прыжкового модуля[]
Энергопотребление и кулдауны смотрите в статье про прыги. Все функции возвращают код ошибки.
- warpShort(x, y, z) - короткий прыжок на заданное расстояние. Координаты указываются относительно ядра. Если введете слишком большое расстояние, вместо него возьмется максимальное возможное.
- warpLong(x, y, z) - длинный прыжок на заданное расстояние. Координаты указываются относительно ядра. Корабль всегда будет оказываться на максимальной высоте, т.е., y-координата не учитывается.
Функции гиперманипулятора[]
- jumpToBeacon(frequency) - прыжок к маяку с заданной частотой.
- summonFromBeacon(frequency, x, y, z) - призывает игроков и другие entity с маяка. Да, сучечки, вы можете призывать (и подбрасывать другим людям) заряженные нюки, криперов, предметы, ну и себя, конечно же.