Вся активность
Этот поток обновляется автоматически
- Ранее
-
Кроме этого у каждого крафт-процессора МЕ сети может быть своё имя, получить которое он может прессом либо на наковальне. После чего при заказах крафта через ОС будет доступно указание на процессор по имени. В случае если именованные вычислительные блоки объединены в один массив, их имена так же будут отображаться объединенной строкой.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
Да, это единственный способ, да и hbm предоставляет клапаны для труб контролируемые через редстоун, просто у труб пропускная способность близкая бесконечности, поэтому расход будет диким, а через капсулы будет точнее Не, проверил все, да и разработчик ответил что так и должно быть
-
Насколько помню craftables = component.me_interface.getCraftables() - - возвращающее объект с полями-функциями, через которые (в том числе) осуществляется доступ к списку объектов предметов доступных для крафта, через который заказывается крафт, при этом опять же возвращается объект с полем, эмм, вроде isDone, позволяющим ожидать завершения заказанного. Каких-либо адекватных примеров кода в сети не встречал, если не считать минифицированного кода (при этом с сохранением табуляции и переносов) без комментариев. Сам я собирался реализовать сие, но тогда руки не дошли. С сейчас вне сферы желаемого.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
Кроме этого, как подсказывает интуиция, карбон возможно заливать по трубам. А воду положить бесконечной бочкой (infinity water tank). Что полностью снимет необходимость как-либо оперировать с 25...28 тоанспозером.
-
Возможно доступ осуществляется с другой стороны. Например снизу. Так, например, обычная ванильная печь (furnace) разрешает класть топливо сбоку, обрабатываемую продукцию сверху, а готовую можно забирать воронкой снизу.
-
Проблема оказалась очень простой, эти слоты заблокированы во имя совместимости, если снять блокировку то все извлекатели/разгрузчики начнут пихать туда предметы или забирать их что полностью сломает мод
-
Возник вопрос У цирнокса 28 слотов: 24 стержня, а 4 для загрузки/выгрузки воды/углекислого газа Первые 24 работают с транспозером нормально, но забрать можно только отработанные стержни, стержни в работе он не вернет, Но в последние 4 не получилось ни загрузить ни выгрузить Размер инвентаря проверил в нем 28 слотов, транспозер их видит, но последние 4 получить/забрать их не может Моды Ntm Space(замена на классическую версию ничего не дает) OpenComputers OpenPeripheral(integration, Addons) Inventory Tweaks Thermal(и его дополнения) Nei EndlessIDs local component = require("component") local sides = require("sides") print(component.transposer.getInventorySize(sides.down)) component.transposer.transferItem(sides.down, sides.up, 16, 28, 1) component.transposer.transferItem(sides.down, sides.up, 16, 27, 2) component.transposer.transferItem(sides.down, sides.up, 16, 26, 3) component.transposer.transferItem(sides.down, sides.up, 16, 25, 4) component.transposer.transferItem(sides.down, sides.up, 16, 24, 5)--тут уже работает Сталкивался ли кто то с подобной проблемой в других модах(Видит все слоты но не работает с некоторыми из них)
-
ICF реактор конца игры. Мощный не взрывается, нет радиоактивных компонентов топливо можно брать из воздуха, но если загорячится можно разогнать до x9 раз, но у него несколько особенностей Производит только до 3 миллиардов энергии(не знаю почему но выше бойлеры и турбины дать не способны сколько не ставь) Быстро сжигает топливо Весомую часть от выработки сжирают лазер(сами они не отключаются даже если пеллеты нет) Производит столько тепла что необходимо подавать с перерывами Приблизительная Схема(обратите внимание на расположение транспозера и красного контролера) Код Полностью автоматизирует реактор Если пеллета есть и тепло в реакторе не содержится то вкоючаем Если пеллеты нет а тепло осталось ждем пока переработается все тепло, отключив лазеры дабы впустуе не работали Если пеллеты нет, тепла нет то загружаем новую Таким образом мы не теряем энергию впустую Есть ли у кого то гайд на работу с МЭ сетью?
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
ВВЭР не взрывается(только плавится), по энергии меньше чем рбмк, но меньше потребляет, выхода отработки тоже меньше меньше Код пример ибо возникли проблемы с пониманием что он мне выводит пока без контроля Обратите внимание на обратную запись 100-полностью опущен 0-полностью поднят в интерфейсе наоборот https://ntm.fandom.com/ru/wiki/Водо-водяной_энергетический_реактор_(ВВЭР) PS с интерфейсами также плохо Стоит поискать функцию поиска максимального количества стержней local component = require('component') local powerControls = {} for address, _ in pairs(component.list('ntm_pwr_control')) do table.insert(powerControls, address) end for i, address in ipairs(powerControls) do local control = component.proxy(address) local level = control.getLevel() or 'N/A' local coolantInfoCold, coolantInfoColdMax, coolantInfoHot, coolantInfoHotMax = control.getCoolantInfo() local flux = control.getFlux() or 'N/A' local heatCore, heat = control.getHeat() local fuelInfo = control.getFuelInfo() or 'N/A' local controlType = control.type or 'N/A' print('+--------------------------------+') print('| Компонент: ' .. address .. ' ') print('| Тип: ' .. controlType .. ' ') print('| Уровень: ' .. level .. ' ') print('| Тепло: ' .. (heatCore or 'N/A') .. '/' .. (heat or 'N/A') .. ' ') print('| Флюс: ' .. flux .. ' ') print('| Охлаждение: ' .. (coolantInfoCold or 0) .. '/' .. (coolantInfoColdMax or 0) .. ', ' .. (coolantInfoHot or 0) .. '/' .. (coolantInfoHotMax or 0) .. ' ') print('+--------------------------------+') end
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Наконец получилось вытащить информацию о положении стержней и преобразовать ее в двух мерный массив единственное что надо указать левую верхнюю ячейку по отношению на EAST Во втором массиве уже хранятся и адрес и тип поэтому реализовать кнопки с методами будет просто Опять косячу с прокси поэтому пока оставил управление и обновления на потом local component = require("component") local gpu = require("component").gpu -- Список типов компонентов РБМК local rbmkComponentTypes = { "rbmk_fuel_rod", "rbmk_heater", "rbmk_control_rod", "rbmk_cooler", "rbmk_outgasser", "rbmk_boiler", "rbmk_emitter", } local componentsInfo = {} for _, componentType in ipairs(rbmkComponentTypes) do for address, type in component.list() do if type == componentType then local componentProxy = component.proxy(address) local x, y, z = componentProxy.getCoordinates() table.insert(componentsInfo, { type = componentType, address = address, coordinates = {x = x, y = y, z = z} }) end end end local gridSize = 15 local componentGrid = {} for i = 1, gridSize do componentGrid[i] = {} for j = 1, gridSize do componentGrid[i][j] = nil end end local offsetX = 22--левая верхняя ячейка local offsetZ = 34--левая верхняя ячейка for _, component in ipairs(componentsInfo) do local x, z = component.coordinates.x, component.coordinates.z local gridX = x - offsetX + 1 local gridY = z + offsetZ + 1 if gridX >= 1 and gridX <= gridSize and gridY >= 1 and gridY <= gridSize then componentGrid[gridX][gridY] = { address = component.address, type = component.type } end end local function drawComponentGrid() gpu.fill(1, 1, 80, 1, " ") gpu.set(1, 1, " Компоненты РБМК ") gpu.fill(1, 2, 80, 1, "-") for i = 1, gridSize do local rowOutput = "" for j = 1, gridSize do if componentGrid[i][j] then local symbol if componentGrid[i][j].type == "rbmk_fuel_rod" then symbol = "Т" -- Топливо elseif componentGrid[i][j].type == "rbmk_control_rod" then symbol = "К" -- Контролирующий стержень elseif componentGrid[i][j].type == "rbmk_boiler" then symbol = "П" -- Паровой канал elseif componentGrid[i][j].type == "rbmk_outgasser" then symbol = "О" -- Облучатель elseif componentGrid[i][j].type == "rbmk_cooler" then symbol = "Х" -- Охладитель else symbol = "?" -- Неизвестный тип end rowOutput = rowOutput .. "[" .. symbol .. "] " else rowOutput = rowOutput .. "[ ] " end end print(rowOutput) end end drawComponentGrid()
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Накатил мод. Исследовал Zirnox. Удалось выяснить, что путем установки адаптера на шапку реактора становится доступен инвентарь реактора, недоступный прямым подключением в это же место: stacks = component.container_zirnox.getAllStacks() позволяет получить информацию о содержании всех слотов реактора, с последующим stack = stacks[slotNumber].all() для таблицы с информацией о всех значениях для слота. Это получение текущей информации по всей видимости наиболее быстрое.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
На всякий случай, если не хочется ставить программу, то в OpenOS можно воспользоваться командной components: components -l | less Выводит все методы всех компонентов с документацией. Палка и less в команде, чтобы можно было скроллить.
- 2 ответа
-
- 1
-
-
- opencomputers
- hbm nuclear tech
- (и ещё 2 )
-
Интеграция с OpenComputers HBM Nuclear Tech (NtmSpace)
Subss6 ответил в тему Subss6 в Инфраструктура
Очень много чего можно получить из компонентов многих на вики нет Тип компонента: ntm_coker, Адрес: 31f7c437-7da1-4068-8c4f-d957027b3bf6 Методы: - address - getHeat - type - getTypeStored - getInfo - slot - getFluidStored Коксовая установка Тип компонента: ntm_fluid_tank, Адрес: 084c94eb-bdfe-4565-81ff-6231d34acb50 Методы: - address - getMaxStored - type - getTypeStored - getInfo - slot - getFluidStored Любая цистерна или бочка Тип компонента: rbmk_fuel_rod, Адрес: cbad95b6-0e4f-4965-ae14-8f8f575139dc Методы: - getType - getHeat - type - getCoreHeat - getSkinHeat - slot - getModerated - address - getXenonPoison - getInfo - getDepletion - getFluxRatio - getFluxQuantity - getCoordinates Топливный стержень(не отличает реасим) Тип компонента: dfc_receiver, Адрес: 8be271ba-10f0-4cb9-989f-9c89149d0190 Методы: - address - type - getCryogel - getInfo - slot - getEnergyInfo Получатель РТС Тип компонента: rbmk_heater, Адрес: cd2a71f0-5efe-4b79-97e8-5b2086d037db Методы: - getExport - getHeat - getExportMax - slot - type - address - getFillMax - getInfo - getExportType - getFill - getFillType - getCoordinates Не отличает нагреватель от прогревателя Тип компонента: ntm_turbine, Адрес: 95dcf975-e7dc-457f-ab2a-15d171b832e8 Методы: - address - getType - type - getInfo - getFluid - slot - setType Только промышленая турбина и левиафан Тип компонента: ntm_fusion, Адрес: f03d43e6-bb93-42d8-b707-0163bea7795f Методы: - type - getFluid - slot - getBlanketDamage - address - getEnergyInfo - getMaxTemp - isActive - setActive - getPlasmaTemp Термоядерный реактор Тип компонента: dfc_injector, Адрес: a56cb751-5d0a-44ab-9dca-a3e625088d1e Методы: - address - type - getFuel - getInfo - slot - getTypes Инжектор РТС Тип компонента: ntm_combustion_engine, Адрес: 743f434d-31be-4cde-b346-88954268ad3e Методы: - getType - getThrottle - type - setThrottle - slot - stop - address - getFluid - getEfficiency - getState - getInfo - start - getPower Промышленный двигатель внутреннего сгорания Тип компонента: rbmk_control_rod, Адрес: 46579472-3fac-4106-949d-9316b0bf0845 Методы: - getLevel - type - getTargetLevel - slot - address - setColor - getInfo - getHeat - setLevel - getColor - getCoordinates Контролирующие стержни не отличает автоматические Тип компонента: ntm_power_gauge, Адрес: 4c766d98-2f92-4ac9-ba08-ecbc6441dda5 Методы: - address - type - getInfo - slot - getTransfer Датчик Мощности Тип компонента: dfc_emitter, Адрес: 5761d2d1-e720-43c0-b3dd-a1da1873a95b Методы: - setInput - type - setActive - slot - address - getInfo - getCryogel - isActive - getInput - getEnergyInfo Компонент РТС Тип компонента: rbmk_crane, Адрес: 3e4a748d-b557-4cfc-8a68-f0dd8c103d91 Методы: - type - slot - load - getXenonPoison - getDepletion - address - move - getCranePos Кран РБМК Тип компонента: ntm_energy_storage, Адрес: 82aae91a-63c5-4c9a-80ee-59a582fe54aa Методы: - address - type - getInfo - slot - getEnergyInfo Любое энерго хранилище Тип компонента: ntm_fluid_gauge, Адрес: 25d74115-4433-493a-8813-864134577f13 Методы: - address - type - getInfo - getFluid - slot - getTransfer Датчик Жидкости Тип компонента: ntm_geiger, Адрес: 9247cb6f-7fae-40d9-b061-e873a2dfa533 Методы: - address - type - getRads - slot Счетчик Гейгера Тип компонента: rbmk_cooler, Адрес: 86195305-110e-4683-935c-0812f0bf4b9a Методы: - getHeat - type - slot - address - getCryoMax - getInfo - getCryo - getCoordinates Охладитель рбмк Тип компонента: rbmk_outgasser, Адрес: c8569961-a7a5-4189-a4fa-e1ea566dded2 Методы: - getGasMax - type - slot - address - getInfo - getProgress - getGas - getGasType - getCoordinates Стержень облучения Тип компонента: rbmk_console, Адрес: 35a7aec9-99b5-41dd-9416-785825aa00f4 Методы: - setColumnLevel - pressAZ5 - slot - getRBMKPos - address - getColumnData - setColorLevel - setLevel - setColor - type Консоль рбмк Тип компонента: breeding_reactor, Адрес: 66d78cf9-be40-46dd-b480-893264a6194f Методы: - address - type - getProgress - getInfo - slot - getFlux Реактор Размножитель Тип компонента: ntm_pwr_control, Адрес: 2213412c-5edd-4ccc-98ce-527685a75510 Методы: - getLevel - getCoolantInfo - slot - getFlux - address - getInfo - getFuelInfo - setLevel - getHeat - type ВВЭР Тип компонента: ntm_icf_reactor, Адрес: 77069b71-c492-4aa4-9431-7d9bdb23f26f Методы: - getHeat - type - getFluid - slot - getPelletStats - getMaxHeat - getPower - address - getHeatingRate ИТС реактор Тип компонента: research_reactor, Адрес: 7db4d45d-1295-4752-bb10-f70c50e7437d Методы: - getLevel - type - getTargetLevel - slot - getFlux - address - getInfo - setLevel - getTemp Иследовательский реактор Тип компонента: dfc_stabilizer, Адрес: 3e492bc1-bd2c-4b7d-b9fd-3dbda323f752 Методы: - setInput - type - getInput - slot - getDurability - address - getInfo - getEnergyInfo Стабилизатор РТС Тип компонента: ntm_gas_turbine, Адрес: 891dbcef-5b2f-4410-9106-720dcead6e63 Методы: - getType - getThrottle - getAuto - stop - setThrottle - slot - getFluid - address - start - getInfo - getState - getPower - setAuto - type Газовая турбина Тип компонента: rbmk_boiler, Адрес: e1a12722-8750-4d91-a818-b68c5208c4f0 Методы: - getHeat - type - getSteam - getWaterMax - slot - address - getCoordinates - getInfo - setSteamType - getSteamMax - getWater - getSteamType Паровой канал Тип компонента: zirnox_reactor, Адрес: 470a4fe2-c2e8-4f74-b0b6-06b813cbd55a Методы: - type - getSteam - setActive - getTemp - getWater - getCarbonDioxide - getPressure - getInfo - ventCarbonDioxide - isActive - address - slot Цирнокс- 2 ответа
-
- opencomputers
- hbm nuclear tech
- (и ещё 2 )
-
На вики сильно устаревшая информация поэтому решил написать код который выводит все компоненты и аккуратно оформляет их методы local component = require("component") local file = io.open("components_info.txt", "w") if not file then print("Не удалось открыть файл для записи.") return end local encounteredTypes = {} for address, componentType in component.list() do if not encounteredTypes[componentType] then encounteredTypes[componentType] = true file:write("Тип компонента: " .. componentType .. ", Адрес: " .. address .. "\n") local componentProxy = component.proxy(address) local methods = {} for methodName in pairs(componentProxy) do table.insert(methods, methodName) end file:write("Методы:\n") for _, method in ipairs(methods) do file:write(" - " .. method .. "\n") end file:write("\n") end end file:close() print("Информация о компонентах записана в components_info.txt.")
- 2 ответа
-
- opencomputers
- hbm nuclear tech
- (и ещё 2 )
-
Можешь посмотреть канал Ocelot на ютубе он очень хорошо рассказывает
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Фокус в том что его нет или он относится к другому реактору есть только rbmk_console, но он без методов Upd в вики полностью наврали, инфа устарела, а я в первый раз с прокси накосячил local component = require("component") local file = io.open("components_info.txt", "w") if not file then print("Не удалось открыть файл для записи.") return end local encounteredTypes = {} for address, componentType in component.list() do if not encounteredTypes[componentType] then encounteredTypes[componentType] = true file:write("Тип компонента: " .. componentType .. ", Адрес: " .. address .. "\n") local componentProxy = component.proxy(address) local methods = {} for methodName in pairs(componentProxy) do table.insert(methods, methodName) end file:write("Методы:\n") for _, method in ipairs(methods) do file:write(" - " .. method .. "\n") end file:write("\n") end end file:close() print("Информация о компонентах записана в components_info.txt.") Код ниже методы Тип компонента: rbmk_console, Адрес: 7136f1b3-5e86-4e8e-bcbd-f10bb528f7cb Методы: - setColorLevel - setLevel - address - setColor - getRBMKPos - getColumnData - type - slot - setColumnLevel - pressAZ5 Тип компонента: rbmk_control_rod, Адрес: ac95789c-0726-40bd-acdb-862bc9641d57 Методы: - getHeat - getInfo - setColor - getTargetLevel - slot - getColor - getCoordinates - setLevel - getLevel - address - type Тип компонента: rbmk_outgasser, Адрес: 426395ec-fe8b-46fb-b003-e14fa5329ea3 Методы: - getInfo - getGasType - slot - getProgress - getGas - getCoordinates - getGasMax - address - type Тип компонента: rbmk_cooler, Адрес: f01807ad-f2fe-4dc9-9afa-0fa2bf260d94 Методы: - getHeat - getInfo - getCryo - slot - getCoordinates - getCryoMax - address - type Тип компонента: rbmk_fuel_rod, Адрес: 9c5ac831-1f59-46db-806c-8be97db6bfa5 Методы: - getHeat - getSkinHeat - getFluxRatio - getDepletion - getInfo - getXenonPoison - slot - getModerated - getType - type - getCoordinates - getCoreHeat - getFluxQuantity - address Тип компонента: rbmk_boiler, Адрес: 54eb8e49-9d97-4549-b393-4696f770c864 Методы: - getHeat - getInfo - setSteamType - getWaterMax - slot - getSteamMax - address - type - getWater - getSteam - getCoordinates - getSteamType Нормально он координаты получает судя по всему а вики этого нет Я на это полчаса угробил но все получилось Вики если кто то захочет исправить https://ntm.fandom.com/ru/wiki/Интеграция_OpenComputers
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Никакой дискриминации нет. Поэтому все желающие обычно используют ссылки, размещая изображения на внешних ресурсах. Например imgur.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
Возможно поможет serialization.serialize таблицы значений состояний элементов реактора и дальнейшее её сохранение в файл. С последующим serialization.unserialize при чтении из файла. Либо можно использовать свой формат хранения данных в строго фиксированном порядке, дабы сократить объем вычислений Кстати говоря дня 3 назад нашел канал по HBM NTM в telegram, но пока сам не исследовал.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
reactor_control.getReactor - возвращает массив значений реактора (уровень стержня, поток, тепло. Применимо ли для получения той информации которую получает код выше? P.S: Насколько понимаю, для использование этой команды необходимо подключить элемент управления.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
Сейчас программа считает что стержни изначально загружены, хранилище свежих полностью заполнено, хранилище пустых полностью свободно, и при при перезапуске всё возвращается к исходному, а получать данные из реактора пока адекватно не получается, данные хранятся в 4 массивах(положение компонентов, наличие стержня, заполнение 2-х типов хранилищ), можно сохранять в txt, но интересно есть ли другой способ дабы не забивать код лишними функциями. Да Было бы удивительно, если бы с РБМК не было проблем
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Что ты имеешь в виду под состоянием? Что именно требуется хранить? Быстро вряд ли получится. Если компоненты устанавливаются автоматически, то их координаты можно узнать в момент установки. Робот знает, что он устанавливает, по каким координатам, и в какой момент времени. А управляющий компьютер знает, в какой момент новые компоненты появляются в сети. Сопоставив моменты времени, можно получить соответствие адресов компонентов их коородинатам. А что за загрузка файлов? Прикреплённые к сообщению картинки? Попробую позвать @cyber01, он должен знать.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
Новички приходят, но и они тоже быстро вырастают из Майнкрафта. Справедливости ради надо сказать, что жизнь на серверах не особо кипела ещё до ухода админа. На EvilWorld перед его закрытием играли 1-2 человека, а более-менее регулярно играл вообще один. А причина всё та же: старожилы ушли в более взрослые проекты, а поток новичков был мизерным.
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Старые игроки выросли из майнкрафта, а свежее мяско не прибывает. Активность на форуме была в основном за счет игровых серверов, админу надоело возиться, форум следом стух. К тому же мод не очень популярный и не развивается.
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )
-
Базовый контроль крана Красный - точка начала работы крана координата 1 - 1 Зеленый соответствующая сторона реактора в мире и на панели управления Карта стержней уже повернута на нужный угол Кран и консоль повернуты спиной к востоку Стержни пока не используются Записываем компоненты реактора с левого верхнего угла(Если кран стоит спиной к рбмк) Обозначения 1 - стержень 2 - стержень остывания 3 - хранилище отработки 4 - облучатель 5 - хранилище Проблемы Не понятно как связать проверку стержней и их извлечение(если просто перебирать стержни краном рванет или остановится да и долго это) Авто проверки истощения нет(как бы есть но на отдельном компе(а координаты получить не могу поэтому не знаю как передать крану что ему нужно достать и куда поместить)) Нет авто сканера(выше проверяет только стержни и работает 30 минут) Функция для манипулирования 1 стержнем нет UPD Вынесено все в функции, Теперь умеет автоматически загружать разгружать все стержни Пока не отслеживает перемещение из/в хранилищ другими методами И напоследок пару вопросов Как красиво сохранять состояния? Можно ли быстро узнать координату и адрес компонента если метода не предусмотрено? Ограничение на загрузку файлов позже снимется или возрастет? Сейчас не сезон, тут всегда так тихо или все что можно уже написали?
- 21 ответ
-
- генератор
- контроллер
- (и ещё 1 )
-
Сканер стержней рбмк https://ntm.fandom.com/ru/wiki/РБМК вики ибо много текста Суть проста проверил область 15 на 15 занес в массив(в колоннах должны быть стержни для проверки). сканирует достаточно долго из за особенностей проверки. Кабель подключается снизу Как оказалось достаточно бесполезно из-за Времени Если кто сможет оптимизировать код буду только рад
- 21 ответ
-
- 1
-
-
- генератор
- контроллер
- (и ещё 1 )