Beyond Dimensions
Beyond Dimensions – мод, ориентированный на системы хранения и утилиты. Он представляет "Dimensional Network" – универсальную систему хранения, поддерживающую предметы, жидкости, FE-энергию, XP, химикаты Mekanism, источники Ars Nouveau, ману Botania и души Industrial Foregoing. Система сочетает исключительную ёмкость и производительность с интуитивным интерфейсом, эффективно решая задачи хранения в большинстве сценариев.
Начало работы
Требуется победить Иссушителя (Wither) или получить Незерскую звезду (Nether Star) иным способом. Создайте из неё Unstable Space-Time Fragment. Держите фрагмент в инвентаре один час для превращения в Stable Space-Time Fragment. Используйте его для крафта Dimensional Network Generator, активируйте генератор для создания Dimensional Network. Откройте интерфейс хранилища клавишей по умолчанию 'O'.
Система хранения
- Ёмкость: Базовая ёмкость максимальна – 2.1 миллиарда уникальных типов ресурсов, каждый вмещает до 2^63^-1 единиц (максимальное значение Java
long
). Максимальное количество типов, ёмкость на тип и методы расширения настраиваются через KubeJS. - Производительность: Система глубоко оптимизирована. Тесты показывают отличные результаты при интеграции с AE2 или автономной работе (см. раздел Тестирование производительности).
- Мультиплеер: Сети привязываются к правам игроков. Одна сеть доступна нескольким игрокам. Альтернативно используйте предметы-Терминалы для совместного доступа.
Пользовательский интерфейс
Интуитивный интерфейс: Логика взаимодействия соответствует популярным модам хранения (AE2, RS).
- Встроенная сетка крафта.
- Режимы поиска: прямой текст (имена/описания/mod ID),
#
для строгого поиска по описаниям,@
для строгого поиска по mod ID. - Настраиваемое количество строк предметов.
- Сортировка: по времени хранения, количеству, имени, mod ID.
Универсальные слоты: Любой слот в GUI поддерживает все типы ресурсов и быстрое взаимодействие.
Быстрые операции с контейнерами: ПКМ по слоту с контейнером (Shulker Box, Sophisticated Backpack и др.) в руке – быстрое извлечение/внесение ресурсов. Поддерживает жидкости, химикаты Mekanism, FE-энергию.
Автоматизация и утилиты
Блоки для автоматизации требуют привязки к сети и поддерживают редстоун. Основные элементы:
- Dimensional Network Pathway: Предоставляет полный доступ к хранилищу для труб, воронок, AE2/RS Storage Buses.
- Dimensional Network Energy Pathway: Специализированный блок для передачи FE-энергии. Режим "Eject Mode" выводит до 2.1 млрд FE/tick.
- Network Interface: Аналог ME Interface. Слоты "Pattern Slots" и "Storage Slots". Поддерживает Eject Mode.
- Net Pump: Забирает ресурсы из соседних контейнеров в сеть. Фильтры (чёрный/белый список).
- Net Hopper: Поглощает предметы и текучие жидкости в радиусе (2 блока – чанк). Больший радиус увеличивает интервалы работы. Фильтры.
- Net Furnace: Автоматическая плавка по заданным рецептам. Топливо – FE или лава. Готовые продукты выводятся в контейнеры или сеть.
- Net Feeder: Автоматически кормит игрока при голоде. Игнорирует "бесконечную" еду. Устанавливается в слот Curios Charm.
- Net Magnet: Портативный сбор предметов. Переключается клавишей. Устанавливается в слот Curios Charm.
- Быстрая передача предметов: Средний клик по блоку – извлечение стака предмета из сети. Shift + Средний клик – внесение предметов в сеть.
Интеграция с модами
- Поддержка перетаскивания ингредиентов и рецептов в JEI/EMI.
- Распознавание предметов из AE2 Generic Stack.
- AE2 Dimensional ME Storage Cell: Предоставляет доступ к сети с производительностью >10x выше Storage Bus.
- Хранение химикатов Mekanism.
- Совместимость с Polymorph в сетке крафта.
- Portable Network Terminal для слота Curios Charm. Установка мода добавляет дополнительный слот.
- KubeJS Support: Кастомизация логики создания сетей, начальной ёмкости, расширения, прямого управления хранилищем.
- Отключение Inventory Profiles Next (IPN) в GUI мода из-за несовместимости. Рекомендуется Mouse Tweaks.
Разработка аддонов и KubeJS
Разработка аддонов
Добавление новых типов ресурсов требует реализации интерфейсов:
IStackType
– идентификация типа.IStackHandlerWrapper
– взаимодействие с контейнерами.CapabilityHelper.BlockCapabilityMap
– доступ для труб/Storage Buses (блоки).CapabilityHelper.ItemCapabilityMap
– быстрое взаимодействие (предметы).UnifiedStorage.typedHandlerMap
– управление ресурсом в ядре сети.StackTypedHandler.typedHandlerMap
– управление в периферийных блоках.
Специфичная интеграция с AE2:
AEHelper.ISTACK_TO_AEKEY_MAP
– преобразование ресурсов в ключи AE2.AEHelper.AEKEY_TO_STACK_TYPE_MAP
– преобразование ключей AE2 в типы ресурсов.
Примеры реализации: BeyondDimensions.java. Детали регистрации могут изменяться.
Кастомизация через KubeJS
Настройка ёмкости сети:
- Отключите стандартный рецепт Dimensional Network Generator.
- Используйте методы KubeJS для реализации своей логики:
Класс | Метод | Возврат | Статичный | Назначение |
---|---|---|---|---|
DimensionsNet | createNewNetForPlayer(Player player, long defaultSlotCapability, int defaultSlotMaxSize) | DimensionsNet | Да | Создать сеть для игрока. defaultSlotCapability : макс. единиц на тип. defaultSlotMaxSize : макс. типов ресурсов. |
getNetFromId(int id, MinecraftServer dataProvider) | DimensionsNet | Да | Получить сеть по ID. | |
getNetFromPlayer(Player player) | DimensionsNet | Да | Получить сеть игрока. | |
getUnifiedStorage() | UnifiedStorage | Нет | Получить объект хранилища сети. | |
UnifiedStorage | setSlotCapacity(long capacity) | void | Нет | Установить ёмкость на тип ресурса. |
setSlotMaxSize(int maxSize) | void | Нет | Установить макс. количество типов ресурсов. |
Дополнительные классы: BD_KubeJSPlugin.java. Класс UnifiedStorage
позволяет напрямую изменять содержимое хранилища.
Дополнительная информация
Тестирование производительности
Тесты (Spark mod, 1319 уникальных предметов, идентичные условия):
Конфигурация | TPS | MSPT (Медиана) | MSPT (95%) |
---|---|---|---|
Автономный Beyond Dimensions | 20 | 3.67 | 4.86 |
AE2 + Dimensional ME Cell | 20 | 2.97 | 3.37 |
Нативное хранилище AE2 | 20 | 2.70 | 3.08 |
Детали тестов: PerformanceTestReport.
Планы развития
- Хранение XP и инструменты.
- Хранение Source (Ars Nouveau) и инструменты.
- Специализированный компонент для Refined Storage (RS).
- Прогрессия (начальное ограниченное хранилище с расширением).
- Дополнительные утилиты автоматизации и инструменты.
Поддерживаемые версии
Версия MC | Загрузчик | Статус |
---|---|---|
1.21.1 | Neoforge | Активно обновляется |
1.20.1 | Forge / Neoforge | Активно обновляется |
1.12.2 | Forge | Только критические исправления |
Поддержка других версий Minecraft не планируется до завершения текущей дорожной карты.