Датапак для Майнкрафт, который даёт другим датапакам готовый движок для хранения данных, очередей отложенных функций, кулдаунов и событий игроков. Он предназначен прежде всего для авторов датапаков, которым нужны общие механики без повторной реализации.
Возможности
Движок хранит постоянные данные в macroengine:engine: общие значения, данные игроков, очередь функций, кулдауны и обработчики событий. Для передачи аргументов и получения результатов используются хранилища macroengine:input и macroengine:output.
Встроенная библиотека строк умеет объединять, искать, заменять, разделять и вставлять текст, менять регистр и преобразовывать строки и значения. Её функции находятся по пути macroengine:core/lib/string/*.
Как пользоваться
После добавления датапака требуется выполнить /reload. Подключаемый датапак должен сам вызвать инициализацию function macroengine:setup, предварительно проверив флаг macroengine:engine global.loaded.
execute unless data storage macroengine:engine {global:{loaded:1b}} run function <namespace>:load_macroengine
execute if data storage macroengine:engine {global:{loaded:1b}} run return 0
function macroengine:setup
data modify storage macroengine:engine global.loaded set value 1b
Не используйте macroengine:input и macroengine:engine для собственных данных: это внутренние хранилища движка. Для строковых функций входные данные записываются в macroengine:input, а результат читается из macroengine:output string.result.
Требования
StringLib уже входит в состав датапака. Дополнительный датапак Lantern Load не требуется.
