Мод Inventory Management добавляет в инвентарь и контейнеры кнопки для сортировки, переноса и автоматического объединения предметов, а также ряд вспомогательных инструментов для поддержания порядка в инвентаре.
0 скачиваний0 просмотров
Сортировка и перенос предметов одним нажатием кнопки и многое другое. Inventory Management добавляет в инвентарь и контейнеры кнопки, позволяющие сортировать, переносить и автоматически объединять предметы, а также ряд вспомогательных инструментов, помогающих поддерживать инвентарь в нужном виде. В одиночной игре мод работает при установке на клиент, в многопользовательской — при установке и на клиент, и на сервер.
Возможности кратко:
Сортировка любого контейнера или инвентаря одним нажатием — по алфавиту или в порядке творческого меню.
Перенос всего для перекладывания содержимого одного инвентаря в другой (положить всё или взять всё) одним нажатием.
Автообъединение для пополнения уже имеющихся в контейнере совпадающих стаков без изменения остального содержимого.
Заблокированные слоты, которые защищаются сочетанием Ctrl/Cmd+клик, так что сортировка, перенос и объединение их пропускают.
Перестановка хотбара: удерживая клавишу и прокручивая, можно на лету перенести целый ряд основного инвентаря в хотбар.
Оповещения о прочности предметов, когда снаряжение изнашивается, а также необязательная автозамена прямо перед поломкой инструмента.
Умная группировка предметов, которая при сортировке держит вместе семейства вариантов (все цвета шерсти, все виды досок и так далее).
Каждую возможность можно независимо включить или отключить в конфигурации, поэтому можно использовать только нужные части.
Поведение мода настраивается в файле inventorymanagement.toml в папке config. Если установлен ModMenu, конфигурацию также можно открыть через интерфейс в списке модов ModMenu, где при наведении на каждый параметр показывается всплывающая подсказка с описанием.
Общие
modEnabled: true|false (по умолчанию true) — главный переключатель мода. Когда он выключен, кнопки не отображаются и никакое поведение не выполняется.
Перестановка хотбара (в разделе hotbarSwap)
hotbarSwap.enableHotbarSwap: true|false (по умолчанию true) — главный переключатель обмена рядов хотбара. Если выключен, привязка клавиши Hotbar swap (hold) ничего не делает (прокрутка и цифровые клавиши больше не меняют ряд) и значок заменённого ряда скрывается. См. раздел «Обмен рядов хотбара» ниже.
hotbarSwap.hotbarSwapNumberKeys: true|false (по умолчанию true) — пока удерживается привязка клавиши Hotbar swap (hold), цифровые клавиши 1–3 позволяют выбрать ряд основного инвентаря для замены в хотбаре (а повторное нажатие цифры активного ряда возвращает его обратно). Включено по умолчанию; выключите, чтобы цифровые клавиши продолжали менять выбранный слот хотбара даже при удержании клавиши. Прокрутка при удержании клавиши работает всегда, независимо от этой настройки.
Прочность предметов (в разделе durability)
durability.durabilityAlertEnabled: true|false (по умолчанию true) — показывать предупреждение о низкой прочности в строке действий (со звуком наковальни «пинг»), когда прочность инструмента или надетого предмета опускается ниже порога. Работает чисто на стороне клиента: читает прочность, уже синхронизированную с вами, поэтому работает на любом сервере, даже в ванильном. См. раздел «Прочность предметов» ниже.
durability.durabilityAlertThreshold1: <Integer> (по умолчанию 10) — первый порог в процентах от максимальной прочности (0–99), при котором срабатывает предупреждение; срабатывает один раз, когда прочность пересекает его сверху вниз. Установите 0, чтобы пропустить этот порог.
durability.durabilityAlertThreshold2: <Integer> (по умолчанию 5) — второй порог в процентах от максимальной прочности (0–99), при котором срабатывает предупреждение; срабатывает один раз, когда прочность пересекает его сверху вниз. Установите 0, чтобы пропустить этот порог.
durability.durabilityAlertAtOne: true|false (по умолчанию true) — также срабатывать предупреждению ровно при 1 оставшемся очке прочности, в дополнение к процентным порогам.
durability.durabilityAlertSound: true|false (по умолчанию true) — воспроизводить звук наковальни вместе с предупреждением. Сообщение в строке действий показывается всегда, независимо от этой настройки.
durability.durabilityAutoReplace: true|false (по умолчанию false) — прямо перед тем, как удерживаемый или надетый предмет сломается, заменить его подходящим из инвентаря. Работает по инициативе клиента: клиент обнаруживает близкий слом и запрашивает замену, поэтому в многопользовательской игре мод должен быть установлен и на сервере (настройки не синхронизируются).
durability.durabilityAutoReplaceSimilar: true|false (по умолчанию false) — ослабить сопоставление при автозамене со строгого (тот же предмет + зачарования) до похожего (та же категория без учёта материала и зачарований): любой планёр вместо планёра, любой предмет для того же слота брони, любой предмет с тем же тегом инструмента, что и сломанный (#minecraft:pickaxes, axes, shovels, hoes, swords).
Сортировка/Перемещение (в разделе sorting)
sorting.showSort: true|false (по умолчанию true) — показывать ли кнопки сортировки.
sorting.showTransfer: true|false (по умолчанию true) — показывать ли кнопки перемещения всех предметов (положить/взять).
sorting.showStack: true|false (по умолчанию true) — показывать ли кнопки автоматического объединения в стопки.
sorting.sortMode: "alphabetical"|"creative" (по умолчанию "alphabetical") — порядок предметов при сортировке. alphabetical сортирует по названию предмета; creative использует порядок меню творческого режима.
sorting.containersFirst: true|false (по умолчанию false) — размещать предметы с содержимым (шалкеры, мешки и т. п.) перед остальными предметами. Применяется только в режиме alphabetical.
sorting.defaultPosition: "(<Integer>,<Integer>)" — задать позицию кнопок по умолчанию.
sorting.screenPositions: {"ID": "(<Integer>,<Integer>)"} — задать позицию кнопок для каждого экрана отдельно. Хотя это можно изменить вручную в файле конфигурации, рекомендуется делать это через интерфейс настроек. См. ниже!
sorting.enableSlotLocking: true|false (по умолчанию true) — главный переключатель блокировки ячеек инвентаря игрока. Если он выключен, сочетание Ctrl/Cmd+клик больше не блокирует ячейки, маркеры и подсказки не отрисовываются, а заблокированные ячейки перестают пропускаться при сортировке, автоматическом складывании и переносе. Уже заблокированные ячейки запоминаются на случай, если переключатель снова включить. См. раздел «Заблокированные ячейки» ниже.
sorting.lockedSlotDisplay: "shown"|"hidden"|"hotkey" (по умолчанию "shown") — когда отрисовывать маркер (рамку и затемнённый фон) на заблокированных ячейках. shown отрисовывает его всегда; hidden — никогда; hotkey — только пока удерживается привязка клавиши Peek locked slots. Сама блокировка (Ctrl/Cmd+клик) и всплывающая подсказка при наведении не затрагиваются.
lockedPlayerSlots / sorting.serverLockedPlayerSlots: (по умолчанию пусто) — индексы заблокированных ячеек основного инвентаря игрока, запоминаемые для каждого мира отдельно. В одиночной игре они хранятся в собственном файле конфигурации этого сохранения (<save>/config/inventorymanagement.toml) в параметре lockedPlayerSlots, поэтому перемещаются вместе с сохранением; на сервере для многопользовательской игры они хранятся в глобальной конфигурации в параметре sorting.serverLockedPlayerSlots — таблице с ключами по адресу сервера. В обоих случаях ими управляет Ctrl/Cmd+клик по ячейкам в игре (без элемента управления в графическом интерфейсе), но они находятся в файле конфигурации, если нужно их просмотреть или очистить.
Группы сортировки (в разделе grouping)
grouping.itemGrouping: true|false (по умолчанию true) — главный переключатель группировки вариантов: связанные семейства предметов (все цвета шерсти, все доски и так далее) собираются вместе, а не сортируются каждый вариант исключительно по имени. См. раздел «Группировка предметов» ниже.
grouping.dynamicGroups: true|false (по умолчанию true) — главный переключатель семейств группировки, определяемых датапаком (см. раздел «Теги групп датапака» ниже).
grouping.disabledDynamicGroups: ["<tag id>", ...] (по умолчанию пусто) — отдельно отключённые семейства группировки из датапака, по полному id тега. Управляется в файле конфигурации (без элемента управления в графическом интерфейсе).
grouping.<family>: true|false (по умолчанию true) — отдельный переключатель для каждого семейства встроенных вариантов; отключите его, чтобы сортировать это семейство по обычному имени, а не группировать. Семейства: wool, wool_carpets, beds, candles, banners, shulker_boxes, dyes, terracotta, glazed_terracotta, concrete, concrete_powder, stained_glass, stained_glass_pane, planks, wooden_slabs, wooden_stairs, wooden_doors, wooden_trapdoors, wooden_fences, fence_gates, signs, hanging_signs, leaves, saplings, boats, spawn_eggs, pottery_sherds, horse_armor, coral.
Чтобы сохранить совместимость с другими модами, теперь можно настраивать положение кнопок управления инвентарём! Чтобы изменить положение всех кнопок, воспользуйтесь опцией sorting.defaultPosition в конфиге или, если установлен ModMenu, в интерфейсе конфигурации. Если нужно настроить отдельный экран (например, другой мод добавил больше места в инвентаре), зажмите Ctrl/Cmd и щёлкните по одной из кнопок интерфейса, чтобы открыть редактор положения для этого экрана! Этот редактор изменяет положение кнопок только для текущего экрана, так что можно сколько угодно подгонять их под интерфейс вашего мода с рюкзаком! ;)
Когда редактор открыт, просто щёлкните и перетащите кнопки мышью, чтобы сдвинуть их на место — они следуют за курсором один к одному. Нужна точность? Стрелки по-прежнему сдвигают их на один пиксель за раз (удерживайте Shift для более крупных шагов), а Ctrl/Cmd+R сбрасывает к значению по умолчанию. То же перетаскивание работает и в редакторе defaultPosition в интерфейсе конфигурации.
Основной способ открыть редактор — Ctrl/Cmd+щелчок, но также есть отдельные привязки клавиш для открытия редактора (одна для кнопок инвентаря игрока, другая для кнопок контейнера). Все привязки клавиш Inventory Management по умолчанию не назначены. Если вы хотите их использовать, назначьте клавиши в разделе «Настройки» → «Управление» в категории Inventory Management.
Сортировка
Теперь во всех контейнерах (достаточно больших) и в вашем инвентаре появится кнопка сортировки. Нажатие на эту кнопку автоматически отсортирует инвентарь! В основном сортировка идёт по алфавиту, с несколькими вручную заданными исключениями. Сортировка игнорирует вашу панель быстрого доступа, так что вам не нужно беспокоиться о том, что она нарушит порядок основных предметов!
Перенос всего
Кнопки «положить всё»/«взять всё» перенесут весь инвентарь в другой! Перенос начинается с верхнего левого слота и продолжается по предметам, пока другой инвентарь не заполнится. Как и сортировка, этот механизм игнорирует вашу панель быстрого доступа (и надетые предметы).
Автоматическое складывание в стопки
Подобно кнопкам переноса всего, также будут кнопки для складывания в контейнер и из него. При нажатии эта кнопка берёт все предметы из исходного инвентаря и складывает их в любые неполные стопки в другом, перенося только предметы, необходимые для заполнения стопок!
После
Есть ячейка, которую вы не хотите тревожить, — запасные блоки, еда или тот самый стак, который вы держите на привычном месте? Заблокируйте её. Удерживайте Ctrl/Cmd и щёлкните любую ячейку основного инвентаря, чтобы включить или снять блокировку. Заблокированные ячейки пропускаются при сортировке, автоскладывании и переносе всего (положить/взять), поэтому эти операции никогда не перемещают, не переупорядочивают и не извлекают предметы из заблокированной ячейки. Блокировка и разблокировка выполняются одним и тем же сочетанием Ctrl/Cmd+щелчок и работают с любой кнопкой мыши.
Блокировать можно только сетку основного инвентаря. Панель быстрого доступа, броня, вторая рука и ячейки любого открытого контейнера — нет (панель быстрого доступа и так игнорируется всеми операциями). Блокировки запоминаются для каждого мира: каждый одиночный сохранённый мир и каждый сервер хранит свой набор (блокировки одиночной игры даже переносятся внутри папки сохранения), и они сохраняются между сессиями. Пустая заблокированная ячейка остаётся зарезервированной, поэтому перенос не заполнит её.
По умолчанию заблокированная ячейка отмечается едва заметным затемнённым фоном и рамкой, рисуемой под предметом, а при наведении показывается подсказка Locked (Ctrl+click to unlock). Не нравятся маркеры? Параметр конфигурации lockedSlotDisplay позволяет задать для них значения Always shown (по умолчанию), Hidden или While hotkey held. Последний вариант рисует их только пока вы удерживаете привязку клавиши Peek locked slots, оставляя инвентарь чистым, пока вы не захотите проверить, что заблокировано. Подсказка при наведении показывается всегда, так что заблокированная ячейка никогда не остаётся загадкой.
Совет: как и все привязки клавиш Inventory Management, Peek locked slots по умолчанию не назначена. Назначьте её в разделе «Настройки» → «Управление» в категории Inventory Management, если хотите использовать режим отображения hotkey.
Хотите получить вторую (или третью) строку предметов под рукой, не открывая инвентарь? Удерживайте клавишу замены и прокручивайте колесо. Каждая прокрутка переключает, какая из трёх строк основного инвентаря меняется местами с хотбаром: от обычного состояния к строке 1, затем к строке 2, к строке 3 и обратно к обычному, по кругу. Предметы физически меняются местами, поэтому всё, что было в хотбаре, оказывается в этой строке, и наоборот. Одновременно смещается только одна строка, а прокрутка обратно к обычному состоянию возвращает всё на свои места.
Предпочитаете нажимать клавишу вместо прокрутки? Если включена опция hotbarSwapNumberKeys (по умолчанию), то пока вы удерживаете клавишу замены, цифровые клавиши 1-3 сразу переключают на соответствующую строку; повторное нажатие цифры активной строки возвращает её обратно к обычному состоянию. Пока клавиша замены удерживается, цифровые клавиши не меняют выбранный слот хотбара, поэтому 4-9 просто игнорируются. Отключите опцию, если хотите, чтобы цифровые клавиши всегда работали как обычно, даже при удерживаемой клавише замены.
Небольшой маркер показывает, какая строка активна: цветная вкладка слева от заменённой строки в любом экране инвентаря или контейнера и ненавязчивый значок с номером строки (1-3) чуть левее хотбара на игровом HUD.
Внутри каждый обмен меняет местами девять слотов строки с девятью слотами хотбара, слот за слотом, где строка 1 — верх основной сетки, а строка 3 — ближайшая к хотбару строка. Перемещение происходит на стороне сервера через пакет, так же как работает кнопка сортировки, а переключение строк всегда сначала возвращает предыдущую строку на место, прежде чем применить новую. Сервер доверяет представлению клиента о том, какая строка сейчас вынесена, поэтому если содержимое хотбара изменится, пока строка заменена (предмет сломается, что-то подберётся туда, сработает /give, другой мод), следующий обмен может переместить не те слоты. Прокрутите обратно к обычному состоянию, прежде чем делать что-либо, что перетасует вынесенный хотбар.
Если рассинхронизация всё же произошла, например после выхода из игры во время смены, нажмите клавишу Reset hotbar swap. Она сбрасывает отслеживание мода обратно в состояние "normal" без перемещения предметов, заново принимая за исходное то, что физически находится на панели быстрого доступа прямо сейчас.
Примечание: поскольку предметы физически меняются местами (и сервер сохраняет их), выход из игры при выбранном ряду оставляет эти предметы смещёнными при следующем входе, даже если индикатор показывает "normal". Чтобы вернуть всё на место, снова выберите этот ряд (прокрутите или нажмите его номер) и затем прокрутите обратно к normal.
Совет: как и все клавиши Inventory Management, Hotbar swap (hold) и Reset hotbar swap по умолчанию не назначены. Назначьте их в разделе «Настройки», затем «Управление», в категории Inventory Management, чтобы использовать эту функцию.
Устали терять с трудом добытый инструмент, потому что не заметили, что он вот-вот сломается? Опции Item Durability дают два независимых способа следить за снаряжением. Каждая включается отдельно в конфигурации; оповещение включено по умолчанию, а автозамена выключена по умолчанию.
Предупреждение о низкой прочности. Когда прочность инструмента или надетого предмета (включая элитры) опускается ниже порога, в строке действий появляется сообщение "<item> durability low! <remaining> of <max> remaining" и раздаётся звук наковальни. Мод отслеживает предмет в основной руке, во второй руке и во всех четырёх слотах брони и срабатывает один раз каждый раз, когда предмет пересекает порог при снижении прочности, в духе датапака Vanilla Tweaks "Durability Ping". Есть два настраиваемых процентных порога (по умолчанию 10% и 5%), а также отдельная опция предупреждения при 1 оставшемся очке прочности для последнего пункта. Мод работает исключительно на стороне клиента: он читает прочность, которая уже синхронизирована с игроком, поэтому работает на любом сервере, даже ванильном. Отключите звук параметром durabilityAlertSound, если нужно только сообщение, или настройте два ползунка порогов в конфигурации (установите любой из них в 0, чтобы пропустить его).
Автозамена перед поломкой. Прямо перед тем, как удерживаемый или надетый предмет должен сломаться, мод подставляет подходящую замену из инвентаря. Изношенный предмет возвращается в тот слот, откуда пришла замена, поэтому игра почти не прерывается, а старый предмет не теряется посреди действия. По умолчанию совпадение строгое (тот же предмет, те же чары), но параметр durabilityAutoReplaceSimilar ослабляет его до похожего: любой планёр вместо планёра, любой предмет для того же слота брони или любой инструмент той же категории, что и сломанный (кирка, топор, лопата, мотыга, меч). Мод просматривает основной инвентарь и вторую руку и выбирает кандидата с наибольшим остатком прочности. Поскольку это всегда обмен всего двух слотов, он не может дублировать или потерять предметы.
Следует знать: автозамена срабатывает при самом последнем очке прочности предмета, поэтому действие, которое расходует больше одного очка за раз, всё ещё может сломать предмет до замены. В таком случае выручают предупреждение и быстрая ручная замена.
Мультиплеер. Автозамена выполняется на стороне клиента: клиент, который уже видит прочность вашей экипировки, замечает, что предмет вот-вот сломается, выбирает замену и просит сервер выполнить замену — так же, как работают кнопки сортировки и перемещения. Настройки не синхронизируются, а запрос содержит всё необходимое для сервера. Чтобы замена произошла в мультиплеере, мод должен быть установлен на сервере, где сервер проверяет и применяет её. Уведомление работает исключительно на стороне клиента и не требует ничего на сервере.
Все параметры прочности находятся в разделе durability конфигурации.
Когда itemGrouping включён (по умолчанию он включён), алфавитная сортировка объединяет семейства связанных предметов, а не разбрасывает каждый вариант под его собственным именем, поэтому все 16 цветов шерсти оказываются вместе, все виды досок — вместе и так далее. У каждого встроенного семейства есть собственный переключатель grouping.<id> (все включены по умолчанию); отключите один, чтобы вернуться к обычной сортировке по имени только для этого семейства.
Семейство «попадает» в отсортированный результат на место отображаемого имени своего якоря (для цветовых семейств это белый вариант, например, весь кластер шерсти сортируется там, где была бы White Wool). Встроенные семейства перечислены в разделе «Конфигурация» выше.
Группы проверяются по принципу первого совпадения в таком порядке: встроенные, затем группы, зарегистрированные модами, затем группы датапаков. Встроенные всегда проверяются первыми, поэтому ничего из добавленного модом или датапаком не может перехватить ванильное семейство.
Для разработчиков модов и пакетов
Inventory Management предоставляет небольшой API, не зависящий от загрузчика модов, для добавления собственных групп вариантов предметов и компараторов сортировки, а также соглашение о датапаках, не требующее кода: любой тег предмета, путь которого начинается с grouping/, автоматически становится семейством вариантов.
Полный справочник (таблицы фабрик, правила приоритета, порядок регистрации и примеры) находится вместе с исходным кодом:
Документация для разработчиков модов и наборов данных на GitHub →
Ссылки
Также на CurseForge · Исходный код на GitHub · Сообщить о проблеме