Beyond Dimensions avatar

Beyond Dimensions [1.21.1] [1.20.1] [1.12.2]

Beyond Dimensions

Beyond Dimensions — это мод, ориентированный на системы хранения и утилиты. Он представляет «Измеренческую сеть» (Dimensional Network) — универсальную систему хранения, поддерживающую предметы, жидкости, энергию FE, опыт (XP), химикаты из Mekanism, источники из Ars Nouveau, ману из Botania и души из Industrial Foregoing. Она сочетает исключительную ёмкость и производительность с удобным интерфейсом, с лёгкостью справляясь с задачами хранения в большинстве сценариев.

Начало работы

Вам необходимо победить Визера или получить Звезду Низа любым другим способом. Скрафтите из неё Нестабильный фрагмент пространства-времени. Подержите этот фрагмент в инвентаре в течение одного часа, чтобы он превратился в Стабильный фрагмент пространства-времени. Используйте его для создания Генератора измеренческой сети и активируйте его, чтобы создать свою Измеренческую сеть. Затем просто нажмите горячую клавишу (по умолчанию: 'O'), чтобы открыть интерфейс хранилища.

Система хранения

  • Ёмкость: Ёмкость хранения по умолчанию максимальна. Она может хранить 2,1 миллиарда различных типов предметов или ресурсов, причём каждый тип может содержать до 2^63^-1 единиц (максимальное значение для long в Java). Максимальное количество хранимых типов, ёмкость на тип и методы расширения хранилища можно настроить с помощью KubeJS.
  • Производительность: Система хранения прошла тщательную оптимизацию. Тесты производительности показывают отличные результаты как при подключении к AE2, так и при использовании только этого мода. См. раздел Тестирование производительности для получения конкретных результатов.
  • Мультиплеер: Система хранения привязывает сети с использованием прав игроков. Одна сеть может быть доступна нескольким игрокам. Альтернативно, общий доступ можно организовать с помощью Терминалов в форме предметов.

Пользовательский интерфейс (UI)

Интуитивный интерфейс хранилища: Мод предоставляет интерфейс, следующий логике взаимодействия,一致ной с популярными модами хранения, такими как AE2 и RS.

  • Встроенная сетка крафта.
  • Несколько режимов поиска: Прямой ввод текста ищет по названиям, всплывающим подсказкам или ID модов. Префикс # для строгого соответствия всплывающим подсказкам. Префикс @ для строгого соответствия ID модов.
  • Настраиваемое количество отображаемых строк предметов.
  • Несколько вариантов сортировки: по времени хранения, по количеству, по имени, по ID мода.

Универсальная система слотов: Любой слот в любом из GUI мода может хранить все поддерживаемые типы ресурсов и поддерживает механику быстрого взаимодействия.

Быстрая операция с контейнерами: Щелчок правой кнопкой мыши по слоту с удержанием соответствующего контейнера позволяет быстро поместить/извлечь ресурсы из контейнера. Например: Щелчок правой кнопкой мыши по слоту с Шалкером ящиком, Sophisticated Backpack или любым другим контейнером быстро сохранит предметы в контейнер; щелчок правой кнопкой мыши по пустому слоту быстро извлечёт предметы из контейнера и поместит их в слот. Эта операция поддерживает жидкости, химикаты Mekanism и даже энергию FE.

Поддержка автоматизации и утилиты

Мод предоставляет блоки для автоматизации и полезные предметы. Эти блоки необходимо привязать к сети, и большинство из них поддерживает управление редстоуном, позволяя взаимодействовать с другими модами через хранилище.

  • Измеренческий сетевой путь (Dimensional Network Pathway): Предоставляет доступ ко всем содержимому хранилища Измеренческой сети. Позволяет ввод/вывод через трубы, загрузочные воронки, AE2/RS Storage Buses и апгрейды разгрузки Sophisticated Backpack.
  • Энергетический путь измеренческой сети (Dimensional Network Energy Pathway): Функционирует почти идентично Сетевому пути, но предназначен для передачи энергии FE. Его интерфейс показывает текущий поток энергии FE. Поддерживает «Режим выброса», выводящий FE в соседние блоки со скоростью 2,1 миллиарда FE/тик.
  • Сетевой интерфейс (Network Interface): Аналогичен ME Interface. Имеет «Слоты для шаблонов» и «Слоты хранения». Пытается вставить хранимые ресурсы в сеть и извлечь ресурсы из сети, отмеченные в слотах шаблонов. Поддерживает Режим выброса.
  • Сетевая помпа (Net Pump): Активно вытягивает ресурсы из соседних контейнеров и вставляет их в Измеренческую сеть. Имеет слоты для фильтров, поддерживающие чёрный/белый списки.
  • Сетевая воронка (Net Hopper): Поглощает nearby entity предметов и даже текущие жидкости, помещая их непосредственно в сеть. Её рабочий диапазон регулируется (от 2 блоков до целого чанка). Большие диапазоны имеют большие интервалы работы. Имеет слоты для фильтров, поддерживающие чёрный/белый списки.
  • Сетевая печь (Net Furnace): Позволяет отмечать рецепты (ввод и топливо). Автоматически забирает отмеченные ресурсы из сети для переплавки. Поддерживает FE или лаву в качестве топлива. Готовые продукты могут быть выброшены в соседние контейнеры или возвращены в сеть.
  • Сетевой питатель (Net Feeder): Когда голод игрока падает ниже заданного порога, он будет кормить игрока едой, отмеченной в сети. Не будет потреблять «бесконечную» еду, такую как Neverending Bacon или Eternal Steak. Можно экипировать в слот Charm мода Curios.
  • Сетевой магнит (Net Magnet): Похож на Сетевую воронку, но портативный. Поглощает entity предметов с более высокой частотой, чем Воронка. Имеет переключаемую горячую клавишу. Можно экипировать в слот Charm мода Curios.
  • Быстрая передача предмета из активной руки: Средний щелчок по блоку мгновенно извлекает стак предметов того же типа, что и удерживаемый, из сети. Присесть + Средний щелчок, чтобы поместить удерживаемый предмет(ы) обратно в сеть. Эта клавиша настраивается.

Интеграция и поддержка модов

  • Поддерживает перетаскивание ghost-ингредиентов и быструю передачу рецептов в JEI/EMI.
  • Отметка ghost-ингредиентов в JEI/EMI может распознавать предметы, хранящиеся внутри AE2 Generic Stack.
  • Добавляет Ячейку ME измеренческого хранилища для AE2 (AE2 Dimensional ME Storage Cell) для чтения содержимого привязанной сети. Обеспечивает более чем 10-кратное повышение производительности по сравнению с использованием Storage Buses.
  • Поддерживает хранение химикатов Mekanism.
  • Сетка крафта поддерживает мод Polymorph.
  • Портативный сетевой терминал (Portable Network Terminal) можно экипировать в слот Charm мода Curios. Установка Beyond Dimensions вместе с Curios добавляет дополнительный слот Charm.
  • Поддержка KubeJS: Предоставляет классы, позволяющие настраивать логику создания сети, начальную ёмкость, методы расширения и прямое управление хранилищем.
  • Отключает мод Inventory Profiles Next (IPN) внутри GUI мода из-за значительных изменений в интерфейсе, делающих их несовместимыми. Пожалуйста, используйте Mouse Tweaks для быстрых передач.

Разработка аддонов и помощь по настройке KubeJS

Разработка аддонов

Добавление новых сохраняемых типов ресурсов в коде straightforward. Реализуйте следующие интерфейсы и зарегистрируйте тип ресурса вместе с соответствующими обработчиками:

  1. IStackType — Позволяет mod распознавать и хранить этот тип ресурса.
  2. IStackHandlerWrapper — Позволяет mod взаимодействовать программно с контейнерами/блоками модов, содержащими этот ресурс.
  3. CapabilityHelper.BlockCapabilityMap — Позволяет типам ресурсов быть доступными для труб/Storage Buses других модов из блоков.
  4. CapabilityHelper.ItemCapabilityMap — Включает быстрое взаимодействие со слотами контейнеров (средний щелчок) для предметов, содержащих этот ресурс.
  5. UnifiedStorage.typedHandlerMap — Позволяет основному хранилищу Измеренческой сети управлять этим ресурсом.
  6. StackTypedHandler.typedHandlerMap — Позволяет периферийным блокам (таким как Сетевые интерфейсы) управлять этим ресурсом в их внутренних слотах.

Специальная совместимость с AE2, даже если пропущена, не препятствует использованию storage buses для чтения.:

  1. AEHelper.ISTACK_TO_AEKEY_MAP — Сопоставляет объекты ресурсов Beyond Dimensions с ключами AE2 (для чтения с помощью Dimensional ME Storage Cell).
  2. AEHelper.AEKEY_TO_STACK_TYPE_MAP — Сопоставляет ключи AE2 обратно с типами ресурсов Beyond Dimensions (для операций с Dimensional ME Storage Cell).

Обратитесь к основному файлу регистрации мода (BeyondDimensions.java) для примеров реализации. Примечание: Специфика регистрации может измениться в будущих версиях.

Помощь по настройке KubeJS

Чтобы настроить ёмкость сети:

  1. Отключите рецепт Генератора измеренческой сети по умолчанию.
  2. Используйте предоставленные классы/методы, доступные через KubeJS, чтобы реализовать собственную логику создания и расширения сети.
Имя классаСигнатура методаТип возвращаемого значенияStaticНазначение
DimensionsNetcreateNewNetForPlayer(Player player, long defaultSlotCapability, int defaultSlotMaxSize)DimensionsNetДаСоздать Измеренческую сеть для указанного игрока. defaultSlotCapability: Макс. единиц на тип ресурса. defaultSlotMaxSize: Макс. количество типов ресурсов.
getNetFromId(int id, MinecraftServer dataProvider)DimensionsNetДаПолучить объект DimensionsNet по его числовому ID.
getNetFromPlayer(Player player)DimensionsNetДаПолучить DimensionsNet, привязанную к указанному игроку.
getUnifiedStorage()UnifiedStorageНетПолучить объект UnifiedStorage, представляющий содержимое хранилища этой сети.
UnifiedStoragesetSlotCapacity(long capacity)voidНетУстановить максимальную ёмкость хранения (единиц) для каждого типа ресурса в этой сети.
setSlotMaxSize(int maxSize)voidНетУстановить максимальное количество различных типов ресурсов, которые эта сеть может хранить.

Кроме того, мод предоставляет некоторые другие классы для KubeJS. Подробности см. здесь.

Класс UnifiedStorage также содержит значительное количество других методов, позволяющих напрямую изменять содержимое хранилища игрока.

API мода поставляется с полными китайскими аннотациями. Ознакомьтесь с ними здесь.

Другая информация

Тестирование производительности

Тесты охватили три сценария на одной машине в идентичных фоновых условиях с использованием мода Spark. Все тесты использовали 1319 случайно сгенерированных уникальных предметов.

  1. Автономный Beyond Dimensions: Предметы хранились/изменялись через Beyond Dimensions. Ввод/вывод через трубы Mekanism.
  2. Beyond Dimensions через ячейку хранения AE2: Сеть подключена к AE2 через Dimensional ME Storage Cell. Ввод/вывод через трубы Mekanism.
  3. Нативное хранилище AE2: Предметы хранились в стандартных дисках AE2 (21 x 64k Storage Cells). Ввод/вывод через трубы Mekanism.

Примечание: Сценарий 1 использует блоки Beyond Dimensions (Dimensional Network Pathway, Network Interface) и отражает основную производительность мода. Сценарии 2 и 3 используют идентичные настройки AE2 (Export Bus, ME Interface, infinite channels), различаясь только источником хранилища, что позволяет проводить прямое сравнение.

Результаты:

Тестовая средаTPSMSPT (Медиана)MSPT (95-й %)Загружено чанковКоличество entity
Автономный Beyond Dimensions203.674.86260113
AE2 + Dimensional ME Cell202.973.37260113
Нативное хранилище AE2202.703.08260113

Подробные профили Spark и информация о настройке тестов доступны здесь.

План развития (Предстоящие функции)

  • Изменение максимальной ёмкости хранения ванильных предметов/жидкостей на 64-битные целые числа (Завершено).
  • Хранение опыта (XP) и утилиты.
  • Хранение Source из Ars Nouveau и утилиты.
  • Выделенный компонент хранения для Refined Storage (RS).
  • Добавление механики прогрессии (изначально предоставляется ограниченное хранилище, требующее расширения).
  • Больше утилит и инструментов для автоматизации.
  • Дополнительные полезные предметы и снаряжение.

Поддерживаемые версии

Версия MCЗагрузчикВерсия модаСтатус
1.21.1Neoforge0.3.0+Активно обновляется
1.20.1Forge / Neoforge0.3.0+Активно обновляется
1.12.2Forge0.1.7.4Только поддержка (Только критические баги)

Поддержка других версий Minecraft не планируется до тех пор, пока текущий план для поддерживаемых версий не будет в значительной степени завершён.


Скачать Beyond Dimensions

 
Тип Скачать Версия Загрузчик Обновлено Размер
Releasebeyonddimensions-0.1.4.jar1.21.1NeoForge21 марта 20251,3 МБ
Releasebeyonddimensions-0.1.1.jar1.21.1NeoForge19 марта 20251,5 МБ
Releasebeyonddimensions-0.1.2.jar1.21.1NeoForge19 марта 20251,5 МБ
Releasebeyonddimensions-0.1.0.jar1.21.1NeoForge18 марта 20251,5 МБ
Пожалуйста авторизуйтесь, чтобы оставить свой комментарий.