eu_tomat 2 154 Опубликовано: 21 мая, 2019 Эти посты были перенесены из темы про мод OpenComputers, идея зародилась в этом посте: В 20.05.2019 в 13:00, eu_tomat сказал: Ограничение на количество MFU в одном адаптере легко преодолимо: транспозер + сундуки с кучей MFU ограничивают количество периферийных устройств лишь размером инвентарей, находящихся в непосредственной близости от транспозера. А если задержки не критичны, то и вообще ограничений нет. Плюс такого подхода ещё и в том, что он снимает ограничение и на количество периферии, задаваемое процессором или серверными шинами. В 20.05.2019 в 13:40, Alex сказал: Отличное решение. Но все равно это костылик. Это надо как-то перебирать в сундуках мфу-шки нужные, чтобы вызвать методы и обратится к тем блокам, на которые они прилинкованы. МФУ-шки могут перемешиваться в сундуке и прочие неописуемые беды могут происходить. Да и как их искать там? Как понять, к чему они прилинкованы? nbt-хеши как-то брать и запоминать? или как? Это сильно хлопотно и много кода писать. Кому не не лень писать много кода, рассказываю: Робот способен не только устанавливать блоки, но и сразу линковать MFU на них. И если робот размещает линкованные MFU в определённом порядке в своём инвентаре и в определённом порядке переносит их в определённые же сундуки, то порядок MFU в слотах сундуков всегда определён. И если алгоритм работы с массивом сундуков всегда возвращает MFU в те же самые слоты, где они были ранее, то порядок не нарушается никогда. И если игроки с шаловливыми руками лишены доступа к этим сервисным сундукам, то и порядку MFU в сундуках ничто не угрожает. Дистанция 3 для MFU – это много или мало? Попытаюсь придумать, например, систему хранения на одном адаптере, облепленном сундуками. Максимальное количество сундуков = 5^3-8+6-4. Это куб 5x5x5 с отрезанными блоками в каждой из 8 вершин и добавленными в центре каждой из 6 граней. Ещё 4 блока потрачено на адаптер и кабель до него. Выходит 119 сундуков. Но для компактности я бы пожертвовал всеми сундуками, выступающими за грани. Получится 114 сундуков. Такая схема легко масштабируется, и два адаптера обеспечат систему хранения из 228 сундуков. Часть слотов в сундуках, непосредственно контактирующих с адаптером, будет занята MFU. Если сильно захотеть, то от части MFU можно избавиться, так как прямой доступ к некоторым из сундуков не обязателен, и к ним можно обращаться через соседние сундуки. Для этого потребуется аккуратно реализовать энергонезависимое хранение информации о содержимом сундуков с учётом того, что последняя операция переноса может и не завершиться успехом. Впрочем, кеширование полезно в любом случае. Вот, как-то так и обходятся ограничения. Но этот путь, возможно, не для всех. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 21 мая, 2019 К одному транспозеру можно поставить 5 сундуков. К серверу подключить 56 транспозеров. Итого, можно организовать сеть хранения на 5*53*56 = 14840 предметов. И это ванильные сундуки/бочки, никаких ограничений я не вижу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 21 мая, 2019 2 часа назад, Doob сказал: К одному транспозеру можно поставить 5 сундуков. К серверу подключить 56 транспозеров. Итого, можно организовать сеть хранения на 5*53*56 = 14840 предметов. И это ванильные сундуки/бочки, никаких ограничений я не вижу. Если речь зашла о максимальных значениях, то описанная сеть на MFU имеет ёмкость в 5.5 раз больше. С ванильными сундучками, правда, результат скромнее, ёмкость отличается примерно в 3.3 раза. Кроме того, сеть на MFU имеет меньшие габариты за счёт более плотного размещения сундуков, и это, думаю, основное достоинство схемы. Недостатками схемы являются дорогой крафт MFU, низкая скорости работы (до 3х раз в худшем случае) и более сложная логика как при постройке, так и в процессе эксплуатации. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 21 мая, 2019 Нет, плотность повысить невозможно, так как обвязка будет занимать где-то в полтора раза больше места при той же емкости. Строить и программировать такую систему, довольно безумное занятие. На транспозерах сеть легко самоорганизуется, поэтому ее можно строить как угодно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 21 мая, 2019 3 часа назад, Doob сказал: Нет, плотность повысить невозможно, так как обвязка будет занимать где-то в полтора раза больше места при той же емкости. Строить и программировать такую систему, довольно безумное занятие. На транспозерах сеть легко самоорганизуется, поэтому ее можно строить как угодно. Ну, если безумство в данном случае является не психиатрической категорией, а показателем мотивации, то пусть так и будет. А плотность у нас достигается так: есть кубик из сундуков IronChest размером 5x5x5 с адаптером внутри, угловые сундуки отсутствуют. Кабель от адаптера выходит наружу, съедая ещё два сундука. Из обвязки там только кабель, соединяющий все блоки + сервер с монитором и конвертер с энергохранителем. Но можно пойти на принцип, и обвязку тоже впихнуть внутрь, оформив всю систему в виде параллелепипеда. Пусть будет кишка, по центру которой проходит кабель, с адаптерами в центре узлов, облепленными сундуками. Тогда в кубике будут потеряны не только 8 угловых сундуков, но и ещё 5 на адаптер и кабели. Останется 112 сундуков на каждый узел. С лицевой стороны один кусок кабеля заменяем сервером, один сундук – монитором, второй – конвертером энергии, а третий – энергохранителем. Три сундука потеряны. Но с хвостовой стороны можно два блока кабеля, идущего в никуда, заменить на сундуки. В итоге потерян лишь один сундук из всей схемы. В твоей схеме было 56 транспозеров. Сейчас я не буду проверять, не знаю, сколько там реально доступных устройств на сервере после вычета необходимых, но пусть будет 56. К каждому адаптеру прилегают 4 сундука. Не буду сейчас выкраивать крохи (хотя этим тоже можно будет потом упороться), и буду считать, что в каждом адаптере всегда лежит MFU, связанный с сундуком. Получается 5 устройств на адаптер. 11 узлов в кишке как раз и дают 55 устройств + 1 сундук в конце прилепился прямо к адаптеру. Удачное совпадение. Теперь считаем. Объём конструкции = 5x5x5x11 блоков. Полезный объём 112x11-1 сундуков. Ну, хорошо, даже зарезервируем ещё два сундука: один для входящих, а другой для исходящих ресурсов. Получится 1229 сундуков на 1375 блоков занятого объёма. Эффективность использования пространства: 1229/1375=0.893. MFU занимают в сундуках 1229-56=1173 слота. Ещё 1229 слотов остаются в резерве для сохранения возможности обмена. Сундуки наверняка будут алмазными, т.к. основную стоимость крафта создают MFU. Итого выходит (108x1229-1229-1229+56)/(5x5x5x11) = 94.785 слотов на каждый занятый блок, а потери составляют не более 13% в сравнении с голым алмазным сундуком. Для ванильных сундуков вычисления будут чуть отличаться. Один узел даёт 4 одновременно подключенных двойных (на 54 слота) сундука. Получается 14 узлов по 70 сундуков в каждом. Узел будет чуть шире: 5x5x6. Формула выводится аналогично. У меня получилось ((54-2)x(14x70-4)+14x4)/(5x5x6x14) = 24.194 слота на каждый занятый блок с потерями чуть более 10% от голого ванильного сундука. По занятому объёму это даже более выгодно, чем на сундуках IronChest. Правда, не так выгодно по затратам на MFU. А какова плотность твоей сети хранения на транспозерах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 21 мая, 2019 24 минуты назад, eu_tomat сказал: Получится 1229 сундуков на 1375 блоков занятого объёма. Эффективность использования пространства: 1229/1375=0.893. а что вы делаете? Что это будет? что за сеть хранения? хранения чего? Что эти сундуки делают? я в жизни не видел 1229 сундуков Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Asior 586 Опубликовано: 21 мая, 2019 (изменено) 21 минуту назад, Alex сказал: что за сеть хранения? хранения чего? Скрытый текст Они пытаются создать что то похожее. Короче аналог МЭ только на ОС. Писал такое когда то, у кого то на сервере такая установка работающая стояла. А рассчеты щас ведут сколько кто сможет захватить сундуков и на чем выгоднее. На адаптере с МФЭ или на куче транспозеров. Изменено 21 мая, 2019 пользователем Asior 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 21 мая, 2019 14 минуты назад, Asior сказал: Они пытаются создать что то похожее ааа, понял. А то есть похожее? а на скринах, это не их система? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 21 мая, 2019 26 минут назад, Alex сказал: ааа, понял. А то есть похожее? а на скринах, это не их система? На скринах что-то похожее на систему, о которой говорит Doob, он скажет точнее. Моя система вообще существует лишь в фантазиях, да в этих постах. Идея родилась сегодня утром в попытке проиллюстрировать, что можно сотворить, имея лишь один слот в адаптере и ограниченный радиус действия MFU. 1 час назад, Alex сказал: я в жизни не видел 1229 сундуков Сами по себе эти циферки смысла не несут. Они важны лишь для сравнения двух систем в предельном случае и в равных условиях. Сеть состоит из похожих сегментов, и необязательно использовать их все. В пределе в большей степени важна плотность размещения сундуков, а не их общее количество, потому что обе системы поддаются масштабированию, ограничиваясь лишь ресурсами сервера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Appo 86 Опубликовано: 21 мая, 2019 @eu_tomat если не ошибаюсь, но MFU можно привязывать к другому адаптеру. Тем самым делая цепочку из удаленно связанных адаптеров. Если соединять таким способом, какова тогда плотность? 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 21 мая, 2019 22 минуты назад, Appo сказал: @eu_tomat если не ошибаюсь, но MFU можно привязывать к другому адаптеру. Тем самым делая цепочку из удаленно связанных адаптеров. Если соединять таким способом, какова тогда плотность? Ого! Градус безумия растёт. Промежуточные адаптеры можно даже не запитывать энергией. Теперь можно динамически подключать не только отдельные сундуки, но и целые сегменты. При неаккуратном использовании этой возможности процессор крашится, не в силах переварить прорву новых компонентов. Про плотность точно пока не скажу, т.к. мозг ещё не привык к этой новой идее. Первой мыслью в голову приходит сетка 3x3x3, чтобы адаптеры дотягивались друг до друга. Возможно, она не оптимальна. Навскидку потери составляют около 4.5% для алмазных сундуков, для уточнения требуется продумать схему доступа, т.к. при такой сетке появляется возможность дотянуться до одного сундука с разных адаптеров. И тут надо подумать, даст ли эта избыточность какие-либо преимущества, например, в виде повышения пропускной способности сети. 1 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 22 мая, 2019 Подключение адаптеров через MFU ничего не даст, в отличии от транспозера он непрозрачный и сундук под ним работать не будет. И вообще, система на адаптерах работать не будет, потому что для получения функционала контроллера инвентаря, в адаптер надобно вставить сам контроллер инвентаря. А с контроллером инвентаря, у адаптера точно такой функционал, как у транспозера, только еще сундук снизу не открывается. Вообще не понял, как оно должно работать кубами x5. Для транспозера нужен только сундук и кабель, там все очевидно, хотя я еще не пробовал просчитать самую компактную конструкцию на ванильных сундуках. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 22 мая, 2019 1 час назад, Doob сказал: Подключение адаптеров через MFU ничего не даст, в отличии от транспозера он непрозрачный и сундук под ним работать не будет. Под кем не будет работать сундук? Сундук работает, установленный как под, так и над адаптером. Сквозь адаптер, ясное дело, предмет не передать, и сундуки, стоящие строго между адаптерами являются "застойными" в соответствующих направлениях. Проблему придётся решать более сложной логикой движения предметов внутри системы, и об этом недостатке я упоминал выше. 1 час назад, Doob сказал: И вообще, система на адаптерах работать не будет, потому что для получения функционала контроллера инвентаря, в адаптер надобно вставить сам контроллер инвентаря. Да, важное уточнение. Без OpenPeripheral работать не будет. Следует отнести этот факт к недостаткам системы. Но с OpеnPeripheral работает. 1 час назад, Doob сказал: Вообще не понял, как оно должно работать кубами x5. Ставим куб 5x5x5 из алмазных сундуков IronChest, сундуки по всем 8 углам куба удаляем, т.к. MFU до них не дотягивается. В центр обрезанного куба ставим адаптер, в прилегающие сундуки кладём MFU, слинкованные с остальными сундуками, к адаптеру цепляем кабель. К кабелю цепляем комп, монитор и прочую обвязку. Для эстетики можем всё это заглубить внутрь массива сундуков. Ванильные сундуки ставятся двойными, получается конструкция 5x5x6. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 22 мая, 2019 А, ну тогда понятно. OpenPeripheral есть только на 1.7.10. В современном OpenComputers избавились от повального дублирования функционала, поэтому там можно использовать только те механики, которые логично исходят из их функционала. С OpenPeripheral я могу АЕшку подключить к сундуку (в новых версиях напрямую к игроку) и не страдать фигней. Но я как-то не видел серверов, где есть OpenPeripheral, поэтому весь функционал стратегически важных программ (и неважных тоже) я реализую на ванильных опенкомпах и всем доволен. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 22 мая, 2019 39 минут назад, Doob сказал: С OpenPeripheral я могу АЕшку подключить к сундуку (в новых версиях напрямую к игроку) и не страдать фигней. Страдание фигнёй – это осознанный выбор программиста в Майнкрафт. Тут любая задача необязательна. Кстати, ты так и не ответил на вопрос: 12 часа назад, eu_tomat сказал: А какова плотность твоей сети хранения на транспозерах? Ну, или покажи, как она выглядит, а я хотя бы приблизительно посчитаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Appo 86 Опубликовано: 22 мая, 2019 @Doob Разве нельзя сделать цепочку из адаптеров, но с присоединенными транспозерами? Т.е. без кабелей вообще Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 22 мая, 2019 (изменено) @eu_tomat Плотность надо вычислять полным перебором, при максимальном количестве сундуков на транспозер. Тестовый полигон выглядит так Скрытый текст Тут плотность в разных частях разная, в центре большая избыточность. @Appo можно, работать будет так же, но такая система немного сложнее в постройке. Изменено 22 мая, 2019 пользователем Alex Установка спойлера 2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
eu_tomat Автор темы 2 154 Опубликовано: 22 мая, 2019 2 минуты назад, Doob сказал: @eu_tomat Плотность надо вычислять полным перебором, при максимальном количестве сундуков на транспозер. Тестовый полигон выглядит так... Не могу по рисунку понять всех деталей. Можешь описать алгоритм постройки? Ты же не вручную это строил? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Doob 2 749 Опубликовано: 22 мая, 2019 Никакого алгоритма, просто натыкал транспозеров и сундуков, чтобы тестировать систему хранения предметов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Alex 4 683 Опубликовано: 22 мая, 2019 22 минуты назад, Doob сказал: Тестовый полигон выглядит так... ...Никакого алгоритма, просто натыкал транспозеров и сундуков эпическая лепёшка. Выглядит внушительно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах