Эти посты были перенесены из темы про мод OpenComputers, идея зародилась в этом посте:
Кому не не лень писать много кода, рассказываю:
Робот способен не только устанавливать блоки, но и сразу линковать MFU на них. И если робот размещает линкованные MFU в определённом порядке в своём инвентаре и в определённом порядке переносит их в определённые же сундуки, то порядок MFU в слотах сундуков всегда определён. И если алгоритм работы с массивом сундуков всегда возвращает MFU в те же самые слоты, где они были ранее, то порядок не нарушается никогда. И если игроки с шаловливыми руками лишены доступа к этим сервисным сундукам, то и порядку MFU в сундуках ничто не угрожает.
Дистанция 3 для MFU – это много или мало? Попытаюсь придумать, например, систему хранения на одном адаптере, облепленном сундуками. Максимальное количество сундуков = 5^3-8+6-4. Это куб 5x5x5 с отрезанными блоками в каждой из 8 вершин и добавленными в центре каждой из 6 граней. Ещё 4 блока потрачено на адаптер и кабель до него. Выходит 119 сундуков. Но для компактности я бы пожертвовал всеми сундуками, выступающими за грани. Получится 114 сундуков. Такая схема легко масштабируется, и два адаптера обеспечат систему хранения из 228 сундуков.
Часть слотов в сундуках, непосредственно контактирующих с адаптером, будет занята MFU. Если сильно захотеть, то от части MFU можно избавиться, так как прямой доступ к некоторым из сундуков не обязателен, и к ним можно обращаться через соседние сундуки. Для этого потребуется аккуратно реализовать энергонезависимое хранение информации о содержимом сундуков с учётом того, что последняя операция переноса может и не завершиться успехом. Впрочем, кеширование полезно в любом случае.
Вот, как-то так и обходятся ограничения. Но этот путь, возможно, не для всех.