logic 51 Опубликовано: 31 мая, 2022 (изменено) программа которая может сома крафтить предметы при установке мода для openOS не соглашайтесь на установку top bios v5.1 он делает программный read only и будет препятствовать своему удалению если хотите хороший БИОС установите мод dev установщиком от сюда wget https://raw.githubusercontent.com/igorkll/openOSpath/dev/bin/installer.lua /tmp/ins.lua -f; /tmp/ins.lua конфигурация робота контроллер инвентаря улучшения верстак два апгрейдя инвентарь(лучше больше) монитор, видеокарта и клавиатура интернет карта(для установки мода для openOS необходимого для запуска) чтобы скачать программу можно пойти двумя путями: скачать из магазина, скачиваем мод для openOS из соответствующий темы, затем зайти в market, виртуальным курсором навести на robotCraft нажать enter и скачать его скачать программу этой командой wget https://raw.githubusercontent.com/igorkll/appMarket3/main/robotCraft.lua /usr/bin/robotCraft.lua -f а она уже сома откроет установщик мода чтобы открыть программу просто введите в терминале robotCraft, если предлагает установить мод для openOS смело устанавливайте(без него не будет работать) управления в меню можно видеть зарегистрированные предметы а ниже подменю для осуществления различных действий для регистрации предметы выложите его крафт в верхнем левом углу инвентаря робота а результат крафта положите в четвертый слот и нажмите add меня give это продвинутый поиск предметов он скрафтит предмет если не сможет найти find в отличии от give умеет только искать но не крафтить при выборе предметы в главном меню предстанет выбор крафтить один или пока не вылезет какая-то ошибка(например закончатся ресурсы) выход из программы кнопкой exit или ctrl + alt + c(например если идет крафт) Изменено 31 мая, 2022 пользователем rootmaster 1 5 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 31 мая, 2022 1 час назад, rootmaster сказал: автокрафт на роботе который круче ME машины Недостаточно просто сказать "круче". Таким заявлениям почти никто уже не верит. Нужны аргументы. Чем именно круче? В чём основные достоинства именно этого автокрафта? Какие имеются недостатки? 3 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
num_pi 29 Опубликовано: 31 мая, 2022 Каким образом ты собрался поставлять промежуточные компоненты для крафта? 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 31 мая, 2022 (изменено) А чего куда размещать? Где сундуки ставить? А можно мне чтобы он ресы брал сверху/снизу/корочегдеяукажу? А скриншоты работы программы? Крафт поддерживает сложных структур, типа сможет собрать сервер ОС с 0 и за сколько времени? Есть поддержка мультикрафта, то есть если я закажу 40 кнопок каменных, он их будет крафтить по 1 шт или пачкой сможет сделать? Есть защита от излишек крафта? Типа крафтим резко 120 предметов 1 типа которые по 8 штук крафтятся. Поддержка крафтов из разных модов возможна? А то у ОС например все предметы с 1 названием. Поддержка заменяемости есть? Типа дуб==береза Изменено 31 мая, 2022 пользователем Asior 4 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
hohserg 197 Опубликовано: 1 июня, 2022 Когда я в свое время разбирался с крафтом через робота, то столкнулся с проблемой определения как крафтить предмет: апгрейд инвентаря не умеет узнавать рецепты для предмета. По-идее автор темы тоже должен был столкнуться с такой проблемой и я пошел посмотреть, как он ее решил local cfg = { crafts = { ["minecraft:diamond_pickaxe"] = { {{"minecraft:diamond"}, {"minecraft:diamond"}, {"minecraft:diamond"}}, {nil, {"minecraft:stick"}, nil}, {nil, {"minecraft:stick"}, nil}, }, ["minecraft:stick"] = { {nil, {"minecraft:planks"}, nil}, {nil, {"minecraft:planks"}, nil}, {nil, nil, nil}, }, ["minecraft:planks"] = { {{"minecraft:log"}, nil, nil}, {nil, nil, nil}, {nil, nil, nil}, }, } } Чет как-то грустно 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 1 июня, 2022 Подобное чудо я тоже собирал, но оно было настолько медленным и вялым, что ... (сервер фулл комплект с моником и прочими минимальными приблудами 30 минут крафтило) Вопросы какие я задавал, это собственно то самое что я не реализовал. Хотя я делал его на стеках с сортировкой, зато можно было послать пачками на крафт. Правда заставить работать полноценно не смог, а потом желания не стало. Хранение такое конечно же интересное, но как по мне, лучше рецепты хранить в стандартном формате типа ["minecraft:planks"] = {"minecraft:log"} ["minecraft:stick"] = {"", "minecraft:planks", "", "", "minecraft:planks"}, А дальше уже прогонять внутреннюю обработку. Ну и закидку на будущее делай, количество модов надо учитывать, так как всегда найдется человек который попытается вбить все моды в программу, а ОЗУ не сильно резиновая. Так что стоит пересмотреть формат на хранение данных на диске с быстрым доступом к ним Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taoshi 55 Опубликовано: 1 июня, 2022 IMHO компактнее хранить данные о крафтах в виде id зарегистрированных в базе данных автокрафта предметов. Иначе памяти не напасешься хранить вот это всё Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 1 июня, 2022 1 час назад, Asior сказал: Подобное чудо я тоже собирал, но оно было настолько медленным и вялым, что ... (сервер фулл комплект с моником и прочими минимальными приблудами 30 минут крафтило) Автокрафт на одном лишь роботе хорош в начале игры, чтобы не крафтить комплектующие вручную. Кто-то может и руками крафтить быстрее робота, но меня, например, такая игра утомляет. Поэтому подобные системы я считаю полезными. Также низкую скорость крафта можно компенсировать предварительным заказом крафта часто используемой мелочёвки. По мере же развития игрока можно расширять и систему автокрафта, оставляя роботу лишь минимально необходимый функционал. 1 час назад, Asior сказал: Хранение такое конечно же интересное, но как по мне, лучше рецепты хранить в стандартном формате типа... Думаю, решение с nil более выгодно с точки зрения минимизации вычислительных затрат на выполнение проверки. А строка, хоть и пустая, всё же остаётся строкой. 26 минут назад, Taoshi сказал: IMHO компактнее хранить данные о крафтах в виде id зарегистрированных в базе данных автокрафта предметов. Иначе памяти не напасешься хранить вот это всё Что-то не помню: а разве контроллеры инвентаря по умолчанию имеют доступ к id предметов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 1 июня, 2022 4 часа назад, eu_tomat сказал: Что-то не помню: а разве контроллеры инвентаря по умолчанию имеют доступ к id предметов? Не имеют. И это довольно большая проблема. Хотя как вариант, можно сделать прогон с записью id и имен файлов. Своеобразную библиотеку. Правда данный вариант актуален для стабильных проектов или одиночной игры, где по ходу не докидываются и не выкидываются моды Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 1 июня, 2022 38 минут назад, Asior сказал: Не имеют. И это довольно большая проблема. Хотя как вариант, можно сделать прогон с записью id и имен файлов. Своеобразную библиотеку. Правда данный вариант актуален для стабильных проектов или одиночной игры, где по ходу не докидываются и не выкидываются моды Да, id отличаются от сборки к сборке, и их потребуется заново регистрировать в своей БД. И контроллер инвентаря не может их получить без правки конфига. Получается, что таким образом мы не сможем уменьшить общий размер базы данных. Но идея не лишена смысла. Замена строк на числа даже без привязки к id позволит уменьшить размер ядра БД и снизить вычислительную нагрузку при анализе крафтов с длинными и разветвлёнными цепочками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Taoshi 55 Опубликовано: 2 июня, 2022 19 часов назад, eu_tomat сказал: разве контроллеры инвентаря по умолчанию имеют доступ к id предметов id базы данных автокрафта ~= id игрового клиента. В этом вся суть. Так же любому мастеру следует учесть, что запись типа "minecraft:planks" хорошо себя показывает далеко не со всеми модами. В моей практике встречались идентичные названия подобного типа в некоторых модах. Поэтому желательно использовать не только внутреннюю нумерацию предметов и блоков, но и документировать внешнюю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 2 июня, 2022 2 часа назад, Taoshi сказал: id базы данных автокрафта ~= id игрового клиента. В этом вся суть. Термин "id предмета" в Майнкрафте имеет устойчивый смысл. Поэтому при его использовании в других смыслах предлагаю сразу делать уточнение, а ещё лучше изначально использовать другой термин. 2 часа назад, Taoshi сказал: В моей практике встречались идентичные названия подобного типа в некоторых модах. Это не редкость. Большинство предметов OpenComputers не описываются одним лишь id или именем предмета. 3 часа назад, Taoshi сказал: Поэтому желательно использовать не только внутреннюю нумерацию предметов и блоков, но и документировать внешнюю. Я бы даже сказал, не столько документировать, сколько иметь записи в таблицах преобразования информации о предметах во внутренние номера и обратно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
num_pi 29 Опубликовано: 2 июня, 2022 openperipheral вот где ответ, ну если этот мод конечно есть в сборке, с его помощью можно у не стандартных предметов узнать nbt_hash и уже по нему ориентироваться, но можно ли его api использовать для робота в автокрафте, это вопрос, это да, можно проверить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 2 июня, 2022 3 часа назад, num_pi сказал: openperipheral вот где ответ, ну если этот мод конечно есть в сборке, с его помощью можно у не стандартных предметов узнать nbt_hash и уже по нему ориентироваться, но можно ли его api использовать для робота в автокрафте, это вопрос, это да, можно проверить Не совсем так. В примере @Taoshi для "minecraft:planks" мы получим одинаково пустое поле nbt_hash для разных видов досок. А отличатся они будут полем damage, которое можно получить и без OpenPeripheral. Кстати, информацию о тегах можно получить и иными путями: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic Автор темы 51 Опубликовано: 3 июня, 2022 (изменено) В 31.05.2022 в 18:08, num_pi сказал: Каким образом ты собрался поставлять промежуточные компоненты для крафта? от сам их скрафтит, если чегото не хватает Изменено 3 июня, 2022 пользователем rootmaster Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 3 июня, 2022 @rootmaster Правильно ли я понял, что эта система автокрафта состоит из единственного робота даже без вспомогательных сундуков, а все необходимые для крафта материалы должны находиться во внутреннем инвентаре робота? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
logic Автор темы 51 Опубликовано: 6 июня, 2022 В 03.06.2022 в 12:49, eu_tomat сказал: @rootmaster Правильно ли я понял, что эта система автокрафта состоит из единственного робота даже без вспомогательных сундуков, а все необходимые для крафта материалы должны находиться во внутреннем инвентаре робота? да ты правильно все понял Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах