Перейти к содержимому

ProgramCrafter

Пользователи
  • Публикации

    245
  • Зарегистрирован

  • Посещение

  • Победитель дней

    41

Все публикации пользователя ProgramCrafter

  1. # echo "Some Label" >/dev/components/by-type/eeprom/0/label ######################################################### # # весь интерфейс EEPROM # ls /dev/components/by-type/eeprom/0/label address contents dataSize label size type checksum data device makeReadonly slot
  2. local gpu1 = component.proxy '<адрес первой видеокарты>' local gpu2 = component.proxy '<адрес второй видеокарты>' gpu1.bind('<адрес первого монитора>') gpu2.bind('<адрес второго монитора>') gpu1.set(1, 1, 'Первый монитор') gpu2.set(1, 1, 'Второй монитор')
  3. Вариант для дальнейшего улучшения - автоматизировать наполнение консервов. Любой предмет с названием "Tin Can". Ну, может, ещё имя игрока записывает. Бекдоров пока не видно.
  4. ProgramCrafter

    Оффтоп

    Ну, не всегда: можно же передать таблицу между разными серверами майна, а положить на верстак предметы с разных серверов, к сожалению, нельзя. Кроме того, автоматизация верстака - не очень благодарное дело.
  5. Дело в том, что такой таблицы в Lua не существует. Точнее говоря, создание такой таблицы будет грузить из окружения значения переменных W, o, r, l, d - и, скорее всего, получит для всех nil. Получится таблица {nil, nil, nil, nil, nil}. Строка же записывается в кавычках: "World", например. Если нужна таблица из пяти строк, то в её представлении тоже будут кавычки: a = {"W", "o", "r", "l", "d"} print(a[1]) -- выводит первую строку из таблицы -- будет выведено просто W print выводит не представление строки, корректное как константа в Lua, а саму эту строку. Например, такой код ведь кавычки не выводит, и не должен. print("Hi, Bumer_32") -- Hi, Bumer_32 Чтобы получить корректную запись таблицы в Lua-коде, можно использовать сериализацию. a = {W, o, r, l, d} print(require("serialization").serialize(a)) -- {nil,nil,nil,nil,nil} b = {"W", "o", "r", "l", "d"} print(require("serialization").serialize(b)) -- {"W","o","r","l","d"} c = {'"W"', '"o"', '"r"', '"l"', '"d"'} print(require("serialization").serialize(c)) -- {"\"W\"","\"o\"","\"r\"","\"l\"","\"d\""}
  6. Поставляется в комплекте с OpenComputers на дискете IRC. https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/irc/usr/bin/irc.lua
  7. Сразу подскажу: сборка мусора происходит на каждый десятый вызов computer.pullSignal. Я вот тоже делал вещь, требующую очень много памяти: рендер пиксельных картинок на очках, вроде бы из OpenGlasses. Создание графического объекта возвращало прокси, а мне целиком этот прокси не был нужен. Так там память кончалась очень быстро, и приходилось десять раз запускать os.sleep(0). Жаль, что нельзя сразу сказать "мне этот объект не нужен, Lua, пожалуйста, удали его прямо сейчас".
  8. Я говорил исключительно в том контексте, что нет смысла каждый раз перекачивать все файлы, включая основной файл майнкрафта 1.7.10.jar. С модами-то не проблема, особенно если скачивать только изменившиеся (а лаунчер форума, помнится, так и делает).
  9. Новая информация о наборах: /kit start - 0 ЭУР - то же, что было раньше; /kit vip - 0 ЭУР - те же ресурсы, что были (набор доступен, конечно, не всем ); /kit comp - 1000 ЭУР - тир3 корпус компьютера, тир3 процессор, тир3 видеокарта, 6 тир3 мониторов, тир3 жёсткий диск, 1 тир3,5 планка памяти, 3 пустых EEPROM, 3 пустых дискеты; /kit bonus - 500 ЭУР - 128 угля, 48 стейков, 64 красной пыли, 32 слитка золота, 32 свинца, 48 железа, 48 меди, 48 олова, 64 резины; /kit fict - 100 ЭУР - 10 кусачек и 10 молотов IC2; /kit build - 500 ЭУР - 128 камня, 128 стекла, 64 базовых корпуса корабля WD, 64 стекла оттуда же, 128 деревянных и 128 железных строительных лесов, пустой строительный ранец (для пены) IC2 (конечно же, не кварц, из которого я хотел неадмин-магазин построить...); /kit programm - 0 ЭУР - 2 тир2 корпуса компьютера, 3 тир1,5 планки памяти, 3 тир1 жёстких диска. Всё равно запрашиваю набор из одной укреплённой иридиевой пластины по цене ~150-250 ЭУР
  10. PowerConverters (вроде бы так называется) стоит. О, это вроде прикольная штука, согласен То же можно запилить на лазуротроновых кристаллах и эндер-сундуках, в принципе.
  11. /offtop Ой, неправда-неправда...
  12. @rootmaster Полагаю, тогда более уместно создать новую тему в беседке и позвать автора биоса туда, чтобы обсудить, что и как лучше было бы сделать.
  13. Мне кажется, на экран ошибки стоило бы выводить, с какого диска велась загрузка.
  14. На данный момент пчёлы сортируются по таким критериям: 1. Все принцессы выше трутней; 2. Менее топовый вид; 3. Продолжительность жизни; 4. Скорость работы. Может быть, скорость работы - более важный критерий, чем продолжительность жизни, и их можно поменять местами. Но я не согласен, что срок жизни пчелы надо минимизировать при селекции: для этого надо куда-то спешить, а топовые пчёлы появляются с долгим сроком жизни по умолчанию. Их придётся скрещивать с менее топовыми, чтобы понизить срок жизни - а потом ещё раз, чтобы повысить. К тому же, если пчела живёт дольше, медленнее заполняются сундуки пчеловода
  15. Под давлением общественности сделал версию, где отображаются только топовые пчёлы каждого вида. Скачать можно здесь: https://github.com/ProgramCrafter/lua-utils/blob/main/beealyzer_v2oc.lua Читаемость кода не максимальная, зато вся программа влазит в 256 строк - её можно скопировать и вставить в компьютер OC. Особых изменений по интерфейсу нет, поэтому думаю, что в скриншотах смысла нет.
  16. ProgramCrafter

    OpenPeripheral: Addons

    Я правильно понимаю, что у селектора метод setSlots кидает ошибку "invalid key to next"? Если да, то это фиксится переключением архитектуры на Lua 5.2.
  17. По-хорошему, tprotect должен запускаться вообще до начала загрузки системы. Тогда ему будет без разницы на закрытие shell/чего-то ещё. Значит, _ENV тоже надо блокировать. Заодно не будут работать глобальные переменные - потому что не надо их использовать, лучше уж писать данные в tmpfs. (Или сделать в системе какую-то таблицу для хранения данных программ.)
  18. А точно? Что за источник сигнала, кстати?
  19. Тогда стоит завести issue на гитхабе: https://github.com/ProgramCrafter/lua-utils/issues Или на гитлабе - скоро и туда сделаю зеркало репозитория.
  20. Проблема вот в чём: это будет выглядеть красиво, но пользоваться такой программой будет совершенно невозможно. Эта программа предназначена, чтобы быстро выбирать, каких пчёл скрещивать. Для этого важно видеть сразу все характеристики на одном экране. Именно поэтому меня не устроил просто сундук пчеловода - там надо наводить на каждую пчелу, зажав шифт, и запоминать - какая же пчела там лучше?..
  21. Пчелиный сундук говорит, что 37. Но может случиться, что Вольфрам поставит Extra Bees, и будет 150 видов, или где-то около того. Кстати, список пчёл есть здесь: https://minecraft.fandom.com/ru/wiki/Forestry/Пчеловодство
  22. Очень мало места. Но если добавить их в шрифт OpenComputers, то можно, в принципе. Кто-то сможет нарисовать красиво пчелу шириной в два знакоместа? А точнее, двух пчёл - трутня (без короны) и принцессу (с короной).
  23. Изменения в новой версии (fe3a3c8) относительно начальной (5e97a3e): 1. Добавлена поддержка тир3 экранов; 2. Пчёлы сортируются по "уровню" - сложности получения их вида в селекции; 3. Поддерживается несколько сундуков с пчёлами; 4. Настройки сторон для сундуков и выдачи пчёл перенесены в начало программы.
  24. По одной - но в отзывчивости программы разница в 2 тика (100 мс) может быть заметна. Это хорошо было бы измерить. В то, что таймеры из RedLogic могут нагружать сервер, я верю - но срабатывание выбрасывателя не должно особенно сильно добавлять нагрузку. Вообще мне кажется, что основная нагрузка сервера - это изменение блоков и создание сущностей, и если в выбрасывателе пусто, то ничего из этого не происходит.
  25. Основное преимущество - не требуется использовать контроллер красного камня или красную плату в компьютере. 1) В тир2 компьютере и так мало места: один из слотов занимает видеокарта, во второй слот влазит максимум тир1 плата. Туда можно поставить редстоун-плату, но не нужно; 2) Упрощается монтаж схемы - не надо думать, как подвести провод ещё и к контроллеру красного камня, или как разместить выбрасыватель достаточно близко к компьютеру, чтобы он получал сигнал; 3) Такое решение на 2 тика быстрее - не надо включать и выключать сигнал. Следовательно, если надо обработать много пчёл, это может быть существенно. (Правда, сейчас большая часть времени тратится на обновление экрана. Сюда надо бы прикрутить буферизацию и использование по возможности gpu.copy.)
×
×
  • Создать...