▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/PowerAE2CC Bridge
PowerAE2CC Bridge

PowerAE2CC Bridge

PowerAE2CC Bridge - форк AE2CC Bridge, добавляющий блок-периферию для управления ME-сетью Applied Energistics 2 через компьютеры ComputerCraft. Полный обзор API и функций.

Оцените первым
21.1K
9

Давайте поговорим про автоматизацию в Майнкрафт. Если у вас стоит Applied Energistics 2 (или просто AE2), то вы уже знаете, как удобно хранить вещи в ME-сети. А если вы любите программировать прямо в игре с помощью ComputerCraft, то вам точно захочется скрестить эти два мода.

PowerAE2CC Bridge - это форк мода AE2CC Bridge, который добавляет один простой, но очень полезный блок-периферию. С его помощью ваши Lua-скрипты получают доступ к ME-сети: могут смотреть, что лежит на складе, проверять процессоры для крафта и даже заказывать создание нужных предметов.

Нюанс: Сейчас мод открывает довольно базовый API. Основные задачи он решает, но если вам не хватает какой-то сложной функции, придется ждать обновлений.

Как работает блок

Когда вы ставите мост и подключаете его к сети Applied Energistics, он начинает потреблять 5 AE/t энергии и занимает один канал. Так что не забудьте, что ваша сеть должна тянуть эту нагрузку.

Функции API (Peripheral API)

Тут все стандартно для CC: Tweaked - вы оборачиваете периферию и вызываете методы. Вот что доступно:

getAvailableObjects()

Возвращает список всех предметов, которые сейчас есть в ME-сети. Возвращает: Таблицу с объектами { { type = string, id = string, displayName = string, amount = number }... }.

getCraftableObjects()

Показывает, что система может скрафтить прямо сейчас. Возвращает: Таблицу { { type = string, id = string, displayName = string }... }.

getCraftingCPUs()

Выдает инфу по всем крафтовым процессорам в сети. Возвращает: Таблицу { cpu... }.

Структура cpu:

КлючТипОписание
availableCoProcessorsnumberКоличество доступных сопроцессоров.
availableStoragenumberОбъем доступной памяти для крафта.
selectionModestringРежим выбора процессора (ANY, MACHINE_ONLY или PLAYER_ONLY).
jobStatusstring?Инфа о текущей задаче.
namestring?Кастомное имя процессора.

Если jobStatus не пустой, то внутри него такая структура:

КлючТипОписание
totalObjectsnumberСколько всего предметов будет сделано.
craftedObjectsnumberСколько уже готово.
elapsedNanosnumberВремя в наносекундах с начала крафта.
systemIDstring?ID задачи, выданный ME-системой.
outputoutputЧто именно крафтится.

А вот структура output:

КлючТипОписание
amountnumberСколько предметов заказано.
typestringТип предмета.
idstringID предмета.
displayNamestringОтображаемое имя.

Совет: Иногда получить systemID не получается из-за технических причин. Тогда поле просто не возвращается, а в логах будет ошибка. Следите за обновлениями AE2 и самого моста, чтобы баги починили.

getIssuedCraftingJobs

Возвращает список незаконченных крафтов, которые заказаны через эту периферию. Возвращает: Таблицу { { state = string, jobID = string, systemID = string? }... }.

Тут есть нюанс. Задача попадает в список, только если ее статус SCHEDULED или STARTED. Если крафт уже идет, добавляется systemID - это внутренний ID ME-сети, он отличается от jobID периферии.

getAllCraftingRequests

Показывает вообще все крафты, которые сейчас обрабатываются во всех процессорах сети. Возвращает: Таблицу { craftingRequest, ...}.

Структура craftingRequest:

КлючТипОписание
amountnumberКоличество крафтящегося предмета.
displayNamestringИгровое имя предмета.
systemIDstringID предмета по системе Minecraft.

Пример того, что вернет функция: lua { { amount = 1, displayName = "Oak Planks", systemID = "minecraft:oak_planks" } }

scheduleCrafting(type, id, amount)

Самая главная функция - заказывает крафт. Параметры:

  1. type: string - тип объекта ("fluid" или "item").
  2. id: string - ID предмета.
  3. amount: number - сколько штук нужно.

Возвращает: Уникальный ID задачи (string).

Название scheduleCrafting выбрано не просто так. Заказ не запускается мгновенно. Сначала он ставится в очередь, а когда ME-система освободится и просчитает план - начнется.

Жизненный цикл задачи: Сначала статус SCHEDULED (запланирован). Потом, когда система все посчитала, становится STARTED (начат). В конце крафт переходит в DONE (готово). В любой момент задачу могут отменить - CANCELLED.

События (Events)

Чтобы не опрашивать систему постоянно, используйте ивенты.

ae2cc:crafting_cancelled

Срабатывает, когда крафт отменили. Возвращает:

  1. Имя ивента.
  2. ID отмененной задачи.
  3. Причина отмены.

Причины бывают разные:

ЗначениеОписание
CANCELLEDЗадачу отменили вручную или машиной.
CPU_NOT_FOUNDВыбранный процессор не найден.
INCOMPLETE_PLANНевозможно рассчитать план крафта.
NO_CPU_FOUNDНет свободного процессора для задачи.
CPU_BUSYВыбранный процессор занят.
CPU_OFFLINEПроцессор выключен.
CPU_TO_SMALLПамяти процессора не хватает на эту задачу.
MISSING_INGREDIENTНе удалось найти нужные ингредиенты.

ae2cc:crafting_done

Срабатывает при успешном завершении. Возвращает:

  1. Имя ивента.
  2. ID завершенной задачи.

ae2cc:crafting_started

Срабатывает, когда статус меняется с SCHEDULED на STARTED. Возвращает:

  1. Имя ивента.
  2. ID запущенной задачи.

Итог

Связка ComputerCraft и AE2 - это мощнейший инструмент для автоматизации в Minecraft. Вы можете написать скрипт, который будет следить за запасом блоков в сундуках и автоматически заказывать крафт через ME-сеть, когда чего-то не хватает. Скачайте мод PowerAE2CC Bridge для Майнкрафт, если хотите вывести свою базу на новый уровень автономности. Мод отлично работает на серверах, так что можно настроить общую фабрику для всех игроков.

Партнёрский материал

Как поиграть с друзьями с модом PowerAE2CC Bridge?

Мод PowerAE2CC Bridge куда интереснее в компании: поднимите сервер Майнкрафт с уже установленным модом, позовите друзей и играйте по своим правилам. Хостинг Майнкрафт для мода PowerAE2CC Bridge будет готов за пару минут - BungeeHost сделает всё за вас.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.20.x

Платформы

Поддерживаемые окружения

Клиент и сервер

Зависимости

Ссылки

Детали

Лицензия:
Опубликован:2 года назад
Обновлён:2 года назад
Главная