Перейти к публикации

Автокрафт на руническом алтаре


ZnZ

Рекомендованные сообщения

Всем привет! На форуме уже есть гайд по автоматизации рунического алтаря, он она довольно громоздкая, мой вариант гораздо компактнее, и проще в создании и расширении.
И так, начнём, сначала построим такую конструкцию

Спойлер

1.jpg.75a6f415e6a67465fba447b9b9a5652b.jpgimage.png.4eb4558977cc950d80130582fee51cc2.png 

image.png.2a17399de3a4e8cffee8a100d0e6259f.png

Нам нужны будут:

  • Улучшенный клапан инвентаря (в моём случае он смотри на верх, т.е. будет кидать вещи над собой)
  • Менеджер инвентаризации
  • Редстоун эмиттер
  • Рунический алтарь в который подаётся мана
  • Автономный активатор с посохом леса в нём и настроенным на использование
  • 2 сундка которые будут входом и выходом

Теперь можно переходить к написанию программы, я буду автоматизировать создание набалдашника огня и копания

Спойлер

Для начала я создам переменные в которые я укажу нужные мне инвентори, что бы когда вы когда-то захотите перенести свой автокрафт в другое место, не нужно было заново во всех командах настраивать инвентори и тд.
Что бы создать переменную нажимаем сюда image.png.375512daa5cca9bfe13bf522da8072c1.png

Создаём 4 переменные
image.png.6d0651f0240d2e7a62b46ebd06deb99c.png

Input

Спойлер

Служит переменной которая будет хранить инвентарь с которого нужно будет брать нужные нам предметы для создания

image.png.7f97f14f834bafa1c5d926a64d3da342.pngimage.png.b601842b915c0ada0d00ebc4594194d9.pngimage.png.9ed34b7eb01bcc990796643fb2115de6.png

Нужный сундук выбрал благодаря его координатам которые видно если навести на него курсор

Output

Спойлер

Служит переменной которая будет хранить инвентарь в который будет уходить результат создания

image.png.7c401192e552cab415a9473e61966480.pngimage.png.2fe760bdecccad959cf6d04df5f4b4ed.pngimage.png.d27b400bd8ea194b69d0413ca3680f2f.png

EM Craft

Спойлер

Служит переменной которая будет использована для указания текущего состояния (можно создать/что-то создаётся)

image.png.3da94fa7b4265a2fe46044be9b6222df.pngimage.png.0400ad55b0942948e6bc5e31c912fbdd.pngimage.png.04cb328e5433db30ae43777756c72226.png

Craft

Спойлер

Служит переменной которая будет использована для подачи вещей с сбора нашего результата

image.png.50485291445d73a22907e62c844676db.pngimage.png.eb85cca83d053cc1161940a6cb263f96.pngimage.png.5c09a90f761442c41e2425508edd2b75.png

И так, теперь когда мы создали почву, можно продолжать.
Теперь создадим триггер который будет вызывать наш алгоритм раз в N секунд, в моём случае будет каждую секунду (это минимум), ибо скорость подачи маны у меня довольно большая
После создания триггера создаём проверку редстоун сигнала у эмиттера который записан у переменную
image.png.3725cbe18f9a493284c49a0313ac0ff8.png

Что бы указать переменную а не сам эмиттер нужно нажать сюда
image.png.8d8f79fbd8d1383278f90a2a0a0a51c9.png

CanCraft

Спойлер

Данное условие будет проверять наше состояние (т.е. смотреть на эмиттер и читать его уровень сигнала)
В нашем случае мы делаем проверку на то, что текущее состояние равно 0, т.е. мы сейчас ничего не создаём. 

image.png.68c1f783a3cce5ade0325b07d7c61cb1.pngimage.png.81f81ab0cd6fb2acb3bbefd31bafc5ce.png

Сейчас у нас примерно такая картина

Спойлер

image.thumb.png.e0ae6ed8cb022dcf9945a0151d63dc8f.png

Создадим 2 группы, первая группа будет отвечать за запуск крафта, вторая за его окончание
image.png.7d19c7ecdb2cb1082178755d6079edab.png

После создания двух групп, нужно сделать так, что бы можно было выполнять то что мы запихнём внутрь группы, для этого создаём два узла входа
image.png.1ebc4f30562b46da0b99e556b6ea3f4a.png

Теперь перетаскиваем каждый узел в свою группу

Спойлер

image.thumb.png.757c98031dea5153b4e479bb76858969.png

Теперь у нас есть пимпочки благодаря которым мы можем выполнить то что внутри группы
image.png.13634b14239e6ff3dff842a04adfe33c.png

Ну и теперь после проверки состояния можем вызвать ту или иную группу

Begin буде запускать крафт
Finish будет завершать крафт
image.png.76ef7930bec1184ab24ec73e53e3fd01.png

Begin

Спойлер

Мы сейчас внутри группы Begin, что бы в этом убедиться можем посмотреть вниз, и увидеть где мы сейчас

image.thumb.png.cadc196f732a8688af3e7d6b344f3002.png

Start - это тот узел который мы запихнули внутрь группы, после которой появилась пимпочка, это наша точка входа в нашу группу

На сколько нам известно, для создания чего либо на алтаре, нам нужен жизнекамень, по этому сейчас мы сделаем проверку на то, что у нас есть жизнекамень который нужен для завершения крафта
image.png.0bdb2eab24b978372b78614eb51610f8.png

HasLivingrock

Спойлер

Данная команда будет проверять на наличие жизнекамня, если его нет, то нет смысла что-то делать дальше =)

image.png.cc53dc2b9be253544f8669f563d54ed7.pngimage.png.18a27c5770b8050b5eb4312e7f8d3e75.png

И так, если у нас есть жизнекамень, то можно двигаться дальше, а именно заранее посмотрим что есть у на входе, что бы потом после каждой проверки не создавать команду на получение предметов для создания, делаем вход и настраиваем
image.png.2c53fb754344951303cb8b25a6c976b5.png

GetInput

Спойлер

Данная команда заставит менеджер посмотреть в сундук и запомнить что в нём есть

image.png.64261919775fce905ee29dca7284b4a5.png

Сейчас у нас примерно такая картина
image.png.3e1a4c0c1d119426669106c47619a833.png

Теперь можно приступить к созданию команд которые и будут отвечать за запуск крафта.
Сначала создадим команды для набалдашника огня

Спойлер

Создадим условие для проверки на наличие всего что нужно для создания набалдашника огня

image.png.2bf29c659e1e929f703197e7b67e101a.pngimage.png.cf642910bc36c03f605a23d908c14782.png

Но просто создать условие и указать нужные предметы не достаточно, нужно еще указать кол-во нужных предметов (Нажмите ПКМ по предмету что бы открыть настройку)

image.png.7ea2872643110efa8193fd483658956d.pngimage.png.48a9327446d7ee33159ffc1b438c897c.pngimage.png.252ca392e37486bd077483e0776d4c24.png

После создания условия нужно создать Output, потому что если у нас будет всё что нужно для создания, нужно будет это отдать руническому алтарю)
image.png.13d76e046a3d73c0846adfd3132c6a01.png

Output Items

Спойлер

image.png.6b8a8764f1342216c54d992244c6c923.png

Так же указываем нужные предметы и их кол-во! Но еще так же добавляем и жизнекамень который так же нужно кинуть для создания (укажите что нужно отдать 1шт)

После того как мы отдали вещи руническому алтарю, нужно установить состояние которое будет говорить что мы сейчас создаём наб. огня, для этого нужно подать сигнал на эмиттер
image.png.ce044cd03a231a6408bdf385466968d8.png

Emitter 1

Спойлер

image.png.592d5631a44e9873c6c87a7b2879c230.pngimage.png.a295929eefd38ff588c1ad1e338e6d7a.png

ВАЖНО!!! Мы можем настроить 15 крафтов, потому что всего есть 16 уровней сигнала, 0-15, у нас 0 - ничего не делаем, 1-15 - что-то делаем

Сейчас у нас примерно такая картина

image.png.18ff0b89151e7608d0b4c758f5f6c6c0.png

Сейчас я создам по такому же принципу 3 команды для наб. копания, и соединю всё
Как-то так
image.png.9c0ab3368d54f19fd1b57fdfba777a43.png

Emitter 2 - указывает уровень сигнала 2, потому что под 1 уже наб. огня

 

Finish

Спойлер

Теперь когда закончили с группой Begin, можем пихать команды в группу Finish

Создадим Input который будет запоминать что лежит на земле, что бы каждый раз после условий не делать Input

Input Craft

Теперь будем создавать условия эмиттера для проверки нужных нам сигналов, помним что у нас наб. огня это 1, наб. копания - 2

EM 1

Спойлер

image.png.8e2cee9534ccb7e3f25002e59200e479.pngimage.png.9dd3cbee8f03b2c8872f5271f4024d8b.png

После условия на состояние, нужно проверить готов ли наш предмет, т.е. лежит ли он на земле, для этого создаём условие
COMPL. FIRE
 

Спойлер

image.png.0c251faf57bab70bad7a10fdc788db1c.png

Так как у нас алгоритм сбора того что получилось по сути один и тот же, создадим коллектор который будет вызывать сбор и сброс состояния создания процесса
image.png.2255cc51939c53edd39da6d248ae15ef.png

Сразу его настроим что бы у него было 5 входов а не 2, ибо у нас вообще может быть 15 крафтов тут, и все будете соединять через коллектор
image.png.c847a4f0d4427b11f843edb15130fe0c.png

После того как создали коллектор, создаём Output который сложит все вещи аккуратно в наш сундук)
Output Result

image.png.faae0f4aaaa53ef2ccc1be6ad25df0ae.png

И сбросим наше состояние с помощью эмиттера

EM Reset

Спойлер

image.png.b376e8d975bbf44b8fe1361d342520fb.pngimage.png.580740291b730383acd840536ba1fa66.png

Сейчас я продублирую команды для наб. копания и покажу что вышло
image.png.1c266c37fec68d7ceac3f09bf4964468.png

Всё, наша программа готова, теперь можно проверять)
В ходе проверки, оказалось что линзы которые указаны и которые есть, отличаются по NBT, по этому пришлось указать игнор NBT

Не лучшая была идея поставить клапан под алтарь, лучше всё же поставить над алтарём, и что бы кидал вещи на алтарь сверху, тогда не будет проблем с тем что вещи улетели как было у меня)

Мой первый гайд и вообще первая тема, не ругайте строго)

Спасибо за внимание!

 

  • Нравится 1
Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...