Valheim
You are viewing a potentially older version of this package. View Latest Version
Install with App

Details

Date Uploaded
8 hours ago
Downloads
24
Size
33KB
ADDatHost Valheim hosting
30% off

Терминал сундуков (ChestTerminal) 0.4.0

Мод для Valheim: постройка «Терминал сундуков», которая открывает все сундуки в заданном радиусе как один большой сундук, с поиском и категориями.

Установка

Нужны BepInExPack_Valheim и Jotunn. Thunderstore Mod Manager ставит их сам.

Через Thunderstore Mod Manager (r2modman устроен так же):

  1. Выберите Valheim и свой профиль.
  2. Слева Settings → вкладка Profile → Import local mod.
  3. Укажите ChestTerminal-0.4.0.zip и подтвердите импорт.
  4. Если Jotunn не подтянулся сам, найдите его в Online и установите.
  5. Запускайте игру кнопкой Start modded.

Вручную: поставить BepInExPack_Valheim и Jotunn, затем скопировать ChestTerminal.dll в Valheim\BepInEx\plugins\ChestTerminal\ChestTerminal.dll.

Как пользоваться

  1. Молот → вкладка «Мебель» → «Терминал сундуков». Нужен верстак рядом. Стоимость по умолчанию: 20 дерева и 4 смолы, доступно с самого начала игры. У терминала своя модель: каменно-деревянная тумба с наклонным пультом, светящимися рунами и парящим кристаллом над мачтой. Из Valheim взяты только материалы, сами модели игры не используются.
  2. Поставьте терминал рядом с сундуками и нажмите E.
  3. Откроется обычное окно сундука вместе с инвентарём, только в нём лежит содержимое всех сундуков в радиусе. Одинаковые предметы показываются одной ячейкой с общим количеством (например, «Дерево 1240»). За одно действие из такой ячейки берётся не больше одной полной стопки: перетаскивание, Shift-клик, окно разделения и выброс на землю работают со стопкой, а «Взять всё» забирает всё, что поместится. Положенные в терминал предметы добавляются в ту же ячейку.
    • Перекладывайте предметы как в обычном сундуке: перетаскивание, клики, разделение стопки, «Взять всё», «Сложить». Всё, что вы берёте, забирается из настоящих сундуков, а всё, что кладёте, раскладывается по ним: сначала в сундуки, где такой предмет уже есть, потом в любые свободные.
    • Окно рисует сама игра или SeneaL UI, поэтому подсказки, стиль и горячие клавиши те же, что у обычного сундука.
    • Поиск и категории встроены прямо в окно сундука SeneaL UI, над ячейками, и используют его собственные поле поиска и кнопки-фильтры. Без SeneaL UI (или если его окно не найдено) показывается отдельная панель сверху экрана, как в 0.2. Поиск работает по названию предмета, по английскому имени (Wood, Bronze) и по названию категории. Пока курсор в поле поиска, горячие клавиши игры не срабатывают; Enter, Esc или клик мимо панели выходят из поля.
    • Если в сундуках нет места для положенного предмета, он возвращается в инвентарь.

Настройки

Файл BepInEx\config\asinit.ChestTerminal.cfg создаётся после первого запуска:

Параметр По умолчанию Что делает
General.Radius 20 Радиус поиска сундуков вокруг терминала, 1–100 м
General.IncludeCartsAndShips false Показывать содержимое телег и кораблей
Piece.Recipe Wood:20,Resin:4 Стоимость постройки (нужен перезапуск)
Piece.Glow true Свечение рун и кристалла (нужен перезапуск)
UI.Columns 8 Ширина окна терминала в ячейках, 5–16
UI.MergeStacks true Одна ячейка на предмет с общим количеством; false — как раньше, полными стопками
UI.Scale 1 Масштаб запасной панели поиска (без SeneaL UI)
UI.SearchBarOffset 12 Отступ запасной панели от верха экрана
Piece.BasePrefab piece_chest_blackmetal Откуда взять компоненты и материалы (нужен перезапуск)

Через SeneaL UI: радиус, ширина окна, «Одна ячейка на предмет» и телеги/корабли есть в окне настроек SeneaL UI, в разделе модов («Терминал сундуков»), меняются без перезапуска.

Размер и положение окна: само окно сундука двигается и растягивается в редакторе HUD SeneaL UI (элемент «Chest panel»). Ширина в ячейках задаётся настройкой UI.Columns.

Радиус больше ~60 м мало что даёт: игра держит загруженными только сундуки рядом с игроком.

Совместимость

  • SeneaL UI: терминал открывается как обычный сундук, поэтому SeneaL UI рисует его своим окном со своими пресетами, подсказками и окном разделения стопки. Перенос между терминалом и настоящими сундуками идёт через обычные функции игры (Inventory.AddItem, RemoveItem), так что расширенный инвентарь SeneaL и его патчи на эти функции продолжают работать.
  • Содержимое терминала существует только пока он открыт и никогда не сохраняется в мир, поэтому автосохранение или вылет игры не может размножить предметы. Когда терминал закрыт, он пустой, и «крафт из сундуков» SeneaL UI ничего из него не берёт.
  • Сундуки других модов работают, если они используют обычный компонент Container.
  • Пропускаются: могилы игрока, чужие приватные сундуки, сундуки под чужим охранным камнем, другие терминалы.
  • Патчи Inventory.MoveItemToThis, MoveAll, Humanoid.DropItem и окна перетаскивания/разделения срабатывают только когда предмет идёт из терминала или в терминал. Harmony-патчи Container.Interact, GetHoverText, Save, Load меняют поведение только у терминала (по имени префаба). Ещё один патч на ZInput гасит горячие клавиши игры, пока курсор стоит в поле поиска.

Сборка из исходников

Нужен .NET SDK 8+. Ссылки на игру берутся из NuGet (ValheimGameLibs, UnityEngine.Modules, JotunnLib), BepInEx и Harmony лежат в libs/.

dotnet build -c Release
# с автокопированием в игру:
dotnet build -c Release -p:ValheimDir="C:\Program Files (x86)\Steam\steamapps\common\Valheim"

Готовая DLL: bin/Release/net462/ChestTerminal.dll.

Thunderstore development is made possible with ads. Please consider making an exception to your adblock.