ZnZ Опубликовано: 15 февраля 2020 Share Опубликовано: 15 февраля 2020 Всем привет! На форуме уже есть гайд по автоматизации рунического алтаря, он она довольно громоздкая, мой вариант гораздо компактнее, и проще в создании и расширении. И так, начнём, сначала построим такую конструкцию Спойлер Нам нужны будут: Улучшенный клапан инвентаря (в моём случае он смотри на верх, т.е. будет кидать вещи над собой) Менеджер инвентаризации Редстоун эмиттер Рунический алтарь в который подаётся мана Автономный активатор с посохом леса в нём и настроенным на использование 2 сундка которые будут входом и выходом Теперь можно переходить к написанию программы, я буду автоматизировать создание набалдашника огня и копания Спойлер Для начала я создам переменные в которые я укажу нужные мне инвентори, что бы когда вы когда-то захотите перенести свой автокрафт в другое место, не нужно было заново во всех командах настраивать инвентори и тд. Что бы создать переменную нажимаем сюда Создаём 4 переменные Input Спойлер Служит переменной которая будет хранить инвентарь с которого нужно будет брать нужные нам предметы для создания Нужный сундук выбрал благодаря его координатам которые видно если навести на него курсор Output Спойлер Служит переменной которая будет хранить инвентарь в который будет уходить результат создания EM Craft Спойлер Служит переменной которая будет использована для указания текущего состояния (можно создать/что-то создаётся) Craft Спойлер Служит переменной которая будет использована для подачи вещей с сбора нашего результата И так, теперь когда мы создали почву, можно продолжать. Теперь создадим триггер который будет вызывать наш алгоритм раз в N секунд, в моём случае будет каждую секунду (это минимум), ибо скорость подачи маны у меня довольно большая После создания триггера создаём проверку редстоун сигнала у эмиттера который записан у переменную Что бы указать переменную а не сам эмиттер нужно нажать сюда CanCraft Спойлер Данное условие будет проверять наше состояние (т.е. смотреть на эмиттер и читать его уровень сигнала) В нашем случае мы делаем проверку на то, что текущее состояние равно 0, т.е. мы сейчас ничего не создаём. Сейчас у нас примерно такая картина Спойлер Создадим 2 группы, первая группа будет отвечать за запуск крафта, вторая за его окончание После создания двух групп, нужно сделать так, что бы можно было выполнять то что мы запихнём внутрь группы, для этого создаём два узла входа Теперь перетаскиваем каждый узел в свою группу Спойлер Теперь у нас есть пимпочки благодаря которым мы можем выполнить то что внутри группы Ну и теперь после проверки состояния можем вызвать ту или иную группу Begin буде запускать крафт Finish будет завершать крафт Begin Спойлер Мы сейчас внутри группы Begin, что бы в этом убедиться можем посмотреть вниз, и увидеть где мы сейчас Start - это тот узел который мы запихнули внутрь группы, после которой появилась пимпочка, это наша точка входа в нашу группу На сколько нам известно, для создания чего либо на алтаре, нам нужен жизнекамень, по этому сейчас мы сделаем проверку на то, что у нас есть жизнекамень который нужен для завершения крафта HasLivingrock Спойлер Данная команда будет проверять на наличие жизнекамня, если его нет, то нет смысла что-то делать дальше =) И так, если у нас есть жизнекамень, то можно двигаться дальше, а именно заранее посмотрим что есть у на входе, что бы потом после каждой проверки не создавать команду на получение предметов для создания, делаем вход и настраиваем GetInput Спойлер Данная команда заставит менеджер посмотреть в сундук и запомнить что в нём есть Сейчас у нас примерно такая картина Теперь можно приступить к созданию команд которые и будут отвечать за запуск крафта. Сначала создадим команды для набалдашника огня Спойлер Создадим условие для проверки на наличие всего что нужно для создания набалдашника огня Но просто создать условие и указать нужные предметы не достаточно, нужно еще указать кол-во нужных предметов (Нажмите ПКМ по предмету что бы открыть настройку) После создания условия нужно создать Output, потому что если у нас будет всё что нужно для создания, нужно будет это отдать руническому алтарю) Output Items Спойлер Так же указываем нужные предметы и их кол-во! Но еще так же добавляем и жизнекамень который так же нужно кинуть для создания (укажите что нужно отдать 1шт) После того как мы отдали вещи руническому алтарю, нужно установить состояние которое будет говорить что мы сейчас создаём наб. огня, для этого нужно подать сигнал на эмиттер Emitter 1 Спойлер ВАЖНО!!! Мы можем настроить 15 крафтов, потому что всего есть 16 уровней сигнала, 0-15, у нас 0 - ничего не делаем, 1-15 - что-то делаем Сейчас у нас примерно такая картина Сейчас я создам по такому же принципу 3 команды для наб. копания, и соединю всё Как-то так Emitter 2 - указывает уровень сигнала 2, потому что под 1 уже наб. огня Finish Спойлер Теперь когда закончили с группой Begin, можем пихать команды в группу Finish Создадим Input который будет запоминать что лежит на земле, что бы каждый раз после условий не делать Input Input Craft Теперь будем создавать условия эмиттера для проверки нужных нам сигналов, помним что у нас наб. огня это 1, наб. копания - 2 EM 1 Спойлер После условия на состояние, нужно проверить готов ли наш предмет, т.е. лежит ли он на земле, для этого создаём условиеCOMPL. FIRE Спойлер Так как у нас алгоритм сбора того что получилось по сути один и тот же, создадим коллектор который будет вызывать сбор и сброс состояния создания процесса Сразу его настроим что бы у него было 5 входов а не 2, ибо у нас вообще может быть 15 крафтов тут, и все будете соединять через коллектор После того как создали коллектор, создаём Output который сложит все вещи аккуратно в наш сундук)Output Result И сбросим наше состояние с помощью эмиттера EM Reset Спойлер Сейчас я продублирую команды для наб. копания и покажу что вышло Всё, наша программа готова, теперь можно проверять) В ходе проверки, оказалось что линзы которые указаны и которые есть, отличаются по NBT, по этому пришлось указать игнор NBT Не лучшая была идея поставить клапан под алтарь, лучше всё же поставить над алтарём, и что бы кидал вещи на алтарь сверху, тогда не будет проблем с тем что вещи улетели как было у меня) Мой первый гайд и вообще первая тема, не ругайте строго) Спасибо за внимание! 1 Ссылка на комментарий
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти сейчас