Написания модов TerraCraft

Важная информация

  • Документация по API соответствует версии игры 1.4.0+. Если вы сильно горите желанием написать мод для TerraCraft 1.3.9, то свяжитесь с нами.
  • Моды пишутся на lua 5.2. Поддерживается создание простых модов с плохо развитым API.
  • Моды поддерживаются с версии 1.3.9.

Кто собирается писать моды первый раз

Для начала конечно нужно научиться писать код на языке программирования lua. Пока, что мы можем по рекомендовать изучить lua на этом сайте, но вы можете поискать информацию о lua на других источниках.

Публикуются моды здесь.

Условия публикации мода

  • Возрастной рейтинг вашего мода должен быть не выше 6+!
  • В категориях вы обязательно должны выбрать последнюю поддерживаемую версию игры.

Библиотека API

Встроенные методы

Start — запускается при инициализации lua скрипта.

function Start()
end

Update — обновляется каждый кадр.

function Update()
end

FixedUpdate — обновляется с фиксированной частотой независимо от FPS(каждые 0.02 секунды).

function FixedUpdate()
end

Классы

Консоль

console.Print() вывод текста в визуальную консоль. Принимает 1 аргумент(введённый текст). Этот текст отобразится на экране.

console.Print("текст")

Console.Clear() — очистка текста визуальной консоли.

console.Clear()

Прочий класс

sceneCurrent  — хранит информацию о название текущей сцены. Может иметь значение «Menu» или «World’.

Игрок

controller — скрипт управления игрока. 

  • controller.speed — переменная отвечающая за скорость игрока. По умолчанию равна 3.
player.Controller.speed
  • controller.IsGround — переменная типа bool. Может быть равна либо true, либо false. Определяет касается ли игрок поверхности чтобы можно было сделать прыжок. Также используется для расчёта урона от падения. Рекомендуем использовать только в условиях.
player.controller.IsGround
  • controller.fallDistance рассчитывает расстояние от начальной точки падения до конечной.
player.controller.fallDistance
  • controller.safeFallDistance — переменная типа float. Безопасное расстояние падения на котором не наносится урон. Если расстояние от начало падения до конца падение будет больше safeFallDistance, то нанесётся урон равной fallDistance -safeFallDistance.
player.controller.safeFallDistance