Dimensional Inventories
Ведите отдельные инвентари для групп измерений.
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 13 тыс.
- Подписчиков на Modrinth
- 66
- версий
- 36
- Обновлён
- 17 сентября 202617 сент.
- Опубликован
- в 2023
Коротко о моде
Ставится только на сервер; игрокам ставить не нужно
Dimensional Inventories
Мод для Minecraft на Fabric, позволяющий держать отдельные инвентари для групп измерений. Изначально разработан, чтобы добавить отдельный креативный мир на сервер выживания с помощью датапака кастомного измерения (пример датапака прикреплён к релизам на GitHub).
Основной функционал
Мод работает с пулами измерений. Пул измерений может содержать любое количество измерений, но измерение может присутствовать только в одном пуле. Инвентарь игрока (включая обычный инвентарь, броню, вторую руку, эндер-сундук, опыт, счёт, еду, насыщение, истощение и здоровье) и игровой режим одинаковы в пределах одного пула измерений.
Когда игрок перемещается в измерение из другого пула, его инвентарь сохраняется в файл, соответствующий исходному пулу. Затем инвентарь и эффекты игрока очищаются, инвентарь загружается из его файла в целевом пуле (если он есть), а игровой режим переключается на режим этого пула. С другой стороны, когда сущность, не являющаяся игроком, перемещается из одного пула в другой, она просто удаляется.
Прогресс достижений можно включить или отключить для пула измерений. Игроки могут просматривать свои достижения в любом пуле, но только в пуле с включённым прогрессом достижений они смогут продвигаться и завершать достижения, а также открывать рецепты. Отдельная настройка применяет тот же принцип к статистике.
Пулы измерений загружаются из JSON-файла и сохраняются в него. Если файл не найден, будет создан пул с именем default, содержащий измерения minecraft:overworld, minecraft:the_nether и minecraft:the_end с игровым режимом выживания и с включённым прогрессом достижений и инкрементом статистики. Таким образом, в обычном мире выживания мод из коробки никак себя не проявит.
Если исходное или целевое измерение не назначено ни одному пулу, инвентарь и игровой режим игрока не изменятся. Это значит, что игрок может сохранить свой инвентарь при перемещении между пулами, если по пути зайдёт в неназначенное измерение.
Использование
Мод управляется командами, начинающимися с diminv. Самая базовая команда просто показывает версию мода и доступна всем:
diminvВсе остальные команды требуют уровень разрешений 4 (оператор).
Управление пулами измерений
Показать все пулы измерений, их игровые режимы и содержащиеся в них измерения:
diminv listПоказать конкретный пул измерений, его игровой режим и содержащиеся в нём измерения:
diminv pool <pool_name> listСоздать новый пул измерений:
diminv pool <pool_name> createУдалить существующий пул измерений:
diminv pool <pool_name> removeНазначить измерение пулу (также удаляя его из всех остальных пулов):
diminv pool <pool_name> dimension <dimension_name> assignУбрать измерение из пула:
diminv pool <pool_name> dimension <dimension_name> removeЗадать игровой режим для пула измерений:
diminv pool <pool_name> gamemode <gamemode>Включить или отключить прогресс достижений для пула измерений:
diminv pool <pool_name> progressAdvancements <boolean>Включить или отключить инкремент статистики для пула измерений:
diminv pool <pool_name> incrementStatistics <boolean>Советы
Кастомные измерения не поддерживают перемещение через порталы, так что для попадания в них нужна какая-нибудь телепортация. Один из способов — использовать ванильную команду teleport вместе с командой execute:
execute in <dimension_name> run teleport <coordinates>
Доступ к кастомным измерениям можно упростить с помощью модов, которые добавляют варпы, дома и другие подобные телепорты. Для более удобного перемещения между измерениями игрокам также можно разрешить телепортироваться на предыдущее местоположение — обычно это реализуется командой `/back`. Пример мода с такой функциональностью — [Essential Commands](https://modrinth.com/mod/essential-commands).
На сервере в режиме выживания с креативным измерением в креатив можно было бы попадать через варп. Игроки могли бы установить дом в креативном измерении для быстрого доступа к текущему проекту, а вернуться в мир выживания можно было бы командой `/back`. Так игроки могли бы легко проектировать свои постройки в креативе и использовать их как образец при строительстве в выживании.
Чтобы управлять доступом к этим и другим командам, бывает полезно назначать права для разных измерений независимо. Это можно сделать с помощью мода на права, например [LuckPerms](https://modrinth.com/mod/luckperms) — см. [статью в их вики о контекстах](https://luckperms.net/wiki/Context). Развивая пример с телепортацией: права `essentialcommands.warp.tp` и `essentialcommands.home.tp` можно выдать глобально, а права `essentialcommands.home.set` и `essentialcommands.back` — только в креативном измерении.
Использование [Vanilla Permissions](https://modrinth.com/mod/vanilla-permissions) или [Universal Perms](https://modrinth.com/mod/universal-perms) для открытия дополнительных узлов прав тоже может пригодиться в этом случае.
Добавление поддержки порталов для кастомных измерений с помощью другого мода вместе с Dimensional Inventories тоже может быть интересно. Пример такого мода — [Dimension Portal Linker](https://github.com/Encrypted-Thoughts/DimensionPortalLinker/).
## Совместимость с модами
В целом можно выделить (как минимум) два интересных случая совместимости с модами:
1. Моды, которые используют ванильные системы Minecraft для добавления/удаления/изменения игрового контента (предметов, эффектов состояния, измерений и так далее). Они должны быть совместимы с Dimensional Inventories «из коробки».
2. Моды, которые влияют на *типы* доступного состояния игрока (дополнительные слоты инвентаря, системы валют и так далее). Для их интеграции с Dimensional Inventories требуются дополнительные усилия.
Для второго случая в Dimensional Inventories есть предварительный API расширений, который позволяет *другому* моду регистрировать дополнительные обработчики состояния игрока (см. раздел *Расширения* ниже).
## Расширения
В Dimensional Inventories есть предварительный API расширений, который можно использовать для улучшения совместимости с другими модами (как описано в разделе *Совместимость с модами* выше) или для добавления либо изменения функций в основном моде Dimensional Inventories. API расширений может меняться даже между минорными версиями, поэтому обязательно используйте совместимые версии модов, указанные для конкретного релиза расширения.
Учтите, что моды-расширения могут разрабатываться не теми же людьми, что «основной» мод Dimensional Inventories или мод, для которого они обеспечивают поддержку. **Не стоит ожидать, что авторы модов будут решать проблемы, вызванные модом-расширением, разработанным другим автором**.
Ниже приведён список модов-расширений:
| Расширение | Описание | Автор |
|------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------|-------------------------------------------------------------------------------------------------|
| [Dimensional Inventories Extension: Trinkets](https://github.com/Thomilist/dimensional-inventories-extension-trinkets) | Совместимость с [Trinkets](https://modrinth.com/mod/trinkets) | Тот же, что у Dimensional Inventories |
| [Dimensional Inventories Extension: Warp](https://modrinth.com/mod/dimensional-inventories-extension-warp) | Команда warp для телепортации игроков между пулами измерений | `rofumer` ([Modrinth](https://modrinth.com/user/rofumer); [GitHub](https://github.com/Rofumer)) |Частые вопросы
Как установить Dimensional Inventories?
Установите Fabric под свою версию Minecraft, скачайте Dimensional Inventories под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Dimensional Inventories?
У Dimensional Inventories есть сборки для Minecraft 1.19.2–1.20.2, 1.20.4, 1.20.6–1.21.1, 1.21.3–26.3.
Нужен ли Dimensional Inventories на сервере?
Ставится только на сервер; игрокам ставить не нужно