Программа для OpenComputers для сопровождения заказов МЕ для алтаря инфузии Thaumcraft. При поступлении предметов на вход алтаря программа проверяет есть ли рецепт по этим предметам, проверяет наличие аспектов в МЕ (если их нет, но есть рецепт то закажет) и, после того как аспекты будут в системе, раскидает предметы по пьедесталам и стартанёт инфузию, после чего результат вернёт в МЕ.
В компьютере должен быть
- adapter подсоединённый к ME интерфейсу.
- transposer подсоединённый с четырёх сторон к
- settings.inputSide к сундуку с ингридентами (ME интерфейс должен выдавать по одному рецепту)
- settings.altarSide к центральнму пьедесталу алтаря
- settings.piedestalSide к сундуку из котрого предметы кондуитом разносятся по пьедесталам (разносится должны по сигналу красного камня)
- settings.outputSide сундук куда перекладывается результат инфузии
- redstone I/O
- settings.redstonePiedestalSide сторона откуда выдаётся сигнал на расстановку вещей по пьедесталам
- settings.redstoneInfusionSide сторона откуда выдаётся сигнал на старт инфузии (должен приниматься на Infusion Claw)
Все параметры из settings настраиваемые прямо в коде.
Рецепты в поставке конечно же не полные и требуют ручного заполнения под себя. Пример рецепта:
[
{
"name": "Ichor",
"input": [{"name": "minecraft:nether_star/0", "size": 1},{"name": "gregtech:gt.metaitem.02/29500", "size": 1},{"name": "ThaumicTinkerer:kamiResource/6", "size": 1},{"name": "minecraft:ender_eye/0", "size": 1},{"name": "ThaumicTinkerer:kamiResource/7", "size": 1}],
"aspects": [{"name": "gaseousspiritusessentia", "size": 64},{"name": "gaseoushumanusessentia", "size": 32},{"name": "gaseousluxessentia", "size": 32},{"name": "gaseousalienisessentia", "size": 16},{"name": "gaseousordoessentia", "size": 16}]
},
{
"name": "Block of Ichorium",
"input": [{"name": "dreamcraft:tile.Mytryl/0", "size": 1},{"name": "gregtech:gt.metaitem.01/11978", "size": 2},{"name": "AWWayofTime:bloodMagicBaseItems/28", "size": 1},{"name": "ThaumicTinkerer:kamiResource/0", "size": 2},{"name": "AWWayofTime:standardBindingAgent/0", "size": 1},{"name": "AWWayofTime:bloodMagicBaseItems/29", "size": 1},{"name": "AWWayofTime:bloodMagicBaseAlchemyItems/4", "size": 1}],
"aspects": [{"name": "gaseousvictusessentia", "size": 64},{"name": "gaseousfamesessentia", "size": 48},{"name": "gaseouspraecantatioessentia", "size": 32},{"name": "gaseousinfernusessentia", "size": 24},{"name": "gaseousalienisessentia", "size": 16},{"name": "gaseoussuperbiaessentia", "size": 16},{"name": "gaseousterraessentia", "size": 8}]
}
]
- name - используется только для отображения на экране
- input.name - имя предмета, в формате name/damage, используется для сверки предметов в рецепете
- aspects.name - имя аспекта, см. файл essentia.json, используется для сверки аспектов по рецепту и для заказа
Описание должно быть полным сразу из поставки. Но может редактироваться с целью перевода
{
"gaseousterraessentia": {"label": "Terra", "aspect": "terra"},
"gaseousordoessentia": {"label": "Ordo", "aspect": "ordo"}
}
- идентификатор - Идентификатор эссенции (name в МЕ). Думаю очевидно для чего оно нужно
- идентификатор.label - Отображаемое имя эссенции. Используется только для отображения на экране, можно писать что угодно
- идентификатор.aspect - имя аспекта для поиска рецепта в МЕ. Не стоит редактировать, по нему идёт поиск рецепта
Для установки программы необходимо скачать на компьютер файлы: json.lua, ra_gui.lua, recipes.json, runic_matrix.lua Скачать можно имея internet card при помощи команд:
wget https://raw.githubusercontent.com/Rikenbacker/gt_oc_infusion/main/json.lua json.lua
wget https://raw.githubusercontent.com/Rikenbacker/gt_oc_infusion/main/ra_gui.lua ra_gui.lua
wget https://raw.githubusercontent.com/Rikenbacker/gt_oc_infusion/main/recipes.json recipes.json
wget https://raw.githubusercontent.com/Rikenbacker/gt_oc_infusion/main/essentia.json essentia.json
wget https://raw.githubusercontent.com/Rikenbacker/gt_oc_infusion/main/runic_matrix.lua runic_matrix.lua
либо вручную.
./runic_matrix.lua
Внешний вид алтаря: Основные элементы на скриншоте:
- Infusion Claw с палочкой внутри прямо над рунической матрицей (он же стартер)
- Блок Gregtech с Redstone Receiver (External) cover направленный прямо на стартер. Соединён с Transmiter из п. 9
- Infusion Provider соединённый с МЕ сетью хранящий аспекты и рецепты с их созданием.
Вид алтаря без стабилизации и украшений - Как видно все пьедесталы за исключением центрального соеденены кондуитами раздающими предметы по сигналу красного камня.
- МЕ интерфейс с рецептами к которому подключенё п.6
- Адаптер компьютера. Обязательно должен быть направлен на единственный в данной компьютерной (не МЕ!) сети.
- Redstone I/O. Блок компьютерной сети выдающий сигналы красного камня. Должен быть единственный в компьютерной сети. Имеет две активные стороны: settings.redstonePiedestalSide и settings.redstoneInfusionSide. Описаны выше.
- Кондуит забирающий предметы из сундука раздатчика на пьедесталы. Работает по сигналу красного камня.
- Блок Gregtech Redstone Transmitter (External) cover направленный прямо на п.7. Соединён и Receiver из п. 3
- Transposer (в центре). Должен быть единственным в сетию Имеет 4 активные стороны: settings.inputSide, settings.altarSide, settings.piedestalSide, settings.outputSide. На скриншоте он соединён с сундуками и пьедесталом не напрямую а через Transvector Interface из-за моей особенности стабилизации алтаря, вы вольны делать как вам удобно.
- Центральный пьедестал алтаря (сверху). Тут наверное кроме как через трансвектор и не соеденить
- Сундук раздатчик (слева) на остальные пьедесталы.
- Сундук куда приходят предметы из МЕ интерфейса (справа).
- Сундук куда падает результат инфузии (снизу). Отсюда предмет кондуитом вытаскивается обратно в МЕ интерфейс.
coming soon
- Палочка в стартере инфузии не заряжается и за её зарядосм никто не следит. Я не придумал как это сделать не уродуя внешний вид алтаря. В качестве решения предлагаю запихать внутрь палочку на 1000 вис и забыть о ней на 600 инфузий.