Laine_prikol 48 Опубликовано: 24 сентября, 2017 Как можно определить с какой стороны установлен сундук возле адаптера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 13 марта, 2018 Для MC 1.7.10 в версии OC 1.7.2 контроллер инвентаря и транспозер наконец-то научились получать название инвентаря. Положение сундука теперь определяется однозначно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
RccHD 136 Опубликовано: 24 сентября, 2017 (изменено) Можно в цикле пройти по всем шести сторонам и проверить наличие сундука на каждой стороне. Изменено 24 сентября, 2017 пользователем RccHD Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 24 сентября, 2017 Можно в цикле пройти по всем шести сторонам и проверить наличие сундука на каждой стороне.Все могут выполнить перебор сторон в цикле. Поэтому вопрос сужается: Как определить наличие сундука с определенной стороны адаптера? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ivan52945 75 Опубликовано: 27 сентября, 2017 можно попробовать через посылку предметано эт соовсем костыли Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Appo 86 Опубликовано: 27 сентября, 2017 Нужен контроллер инвентаря function getSideChest() for i = 0,5 do if require("component").inventory_controller.getInventorySize(i) == 27 then -- Изменить число 27, если сундук другой return i end end end print(getSideChest()) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Zer0Galaxy 2 187 Опубликовано: 27 сентября, 2017 if require("component").inventory_controller.getInventorySize(i) == 27 then -- Изменить число 27, если сундук другой а можно if require("component").inventory_controller.getInventorySize(i) ~= 0 then или так if require("component").inventory_controller.getInventorySize(i) then ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Appo 86 Опубликовано: 27 сентября, 2017 (изменено) а можно if require("component").inventory_controller.getInventorySize(i) ~= 0 thenили так if require("component").inventory_controller.getInventorySize(i) then ? Он может стоящий рядом адаптер например сосчитать, в котором 1 слот, что в первом случае, что во втором Если тебе лень вводить "27" можно сделать вот так: local component = require("component") function getSideChest() for i = 0,5 do if component.inventory_controller.getInventorySize(i) == component.chest.getInventorySize() then return i end end end print(getSideChest()) Изменено 27 сентября, 2017 пользователем Appo Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Fingercomp 4 409 Опубликовано: 27 сентября, 2017 А если это какой-то железный, например, сундук, где не 27, а 54 слотов? Костыль, а не решение. Надо тупо сканить все стороны и предлагать выбрать нужный (-е?). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Appo 86 Опубликовано: 27 сентября, 2017 ... function getSideChest(size) for i = 0,5 do if require("component").inventory_controller.getInventorySize(i) == size then return i end end end print( getSideChest(27) ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat 2 155 Опубликовано: 27 сентября, 2017 Laine_prikol > Как можно определить с какой стороны установлен сундук возле адаптера? К сожалению, в автороской формулировке задача не имеет какого-то одного красивого решения. Адаптер поможет узнать, что за периферия подключена, и сколько она имеет слотов инвентаря, но не может сказать, с какой стороны она подключена и к какому из адаптеров системы. Контроллер инвентаря в адаптере или транспозер могут сообщить количество слотов инвентаря с определенной стороны от них, но не скажут название инвентаря. Роботы в определенных условиях способны определить координаты, объем и название инвентаря, но роботы заметно усложняют рабочую систему. Все способы будут в той или иной степени костыльными в зависимости от конкретной задачи. Для снижения костыльности требуется уточнить условия: много ли в системе адаптеров и сундуков, возможные типы сундуков, может ли меняться конфигурация сундуков в процессе работы программы и от сессии к сессии, будут ли сундуки устанавливаться человеком или роботами. Ответы на эти вопросы помогут выбрать более простое, но при этом рабочее в выбранных условиях решение. В некоторых случаях вообще более разумным будет изменить общую схему работы системы, чтобы подстроиться под имеющиеся решения. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Как можно определить с какой стороны установлен сундук возле адаптера?
Поделиться сообщением
Ссылка на сообщение
Поделиться на других сайтах