Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
ChestTerminal
Chest terminal: see and take items from all chests in a configurable radius, with search and categories. Works alongside SeneaL UI.
By Asinit
| Date uploaded | 12 hours ago |
| Version | 0.4.0 |
| Download link | Asinit-ChestTerminal-0.4.0.zip |
| Downloads | 9 |
| Dependency string | Asinit-ChestTerminal-0.4.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured with the correct entry point for mods and preferred defaults for the community.
Preferred version: 5.4.2351ValheimModding-Jotunn
Jötunn (/ˈjɔːtʊn/, 'giant'), the Valheim Library was created with the goal of making the lives of mod developers easier. It enables you to create mods for Valheim using an abstracted API so you can focus on the actual content creation.
Preferred version: 2.30.2README
Терминал сундуков (ChestTerminal) 0.4.0
Мод для Valheim: постройка «Терминал сундуков», которая открывает все сундуки в заданном радиусе как один большой сундук, с поиском и категориями.
Установка
Нужны BepInExPack_Valheim и Jotunn. Thunderstore Mod Manager ставит их сам.
Через Thunderstore Mod Manager (r2modman устроен так же):
- Выберите Valheim и свой профиль.
- Слева Settings → вкладка Profile → Import local mod.
- Укажите
ChestTerminal-0.4.0.zipи подтвердите импорт. - Если Jotunn не подтянулся сам, найдите его в Online и установите.
- Запускайте игру кнопкой Start modded.
Вручную: поставить BepInExPack_Valheim и Jotunn, затем скопировать ChestTerminal.dll в
Valheim\BepInEx\plugins\ChestTerminal\ChestTerminal.dll.
Как пользоваться
- Молот → вкладка «Мебель» → «Терминал сундуков». Нужен верстак рядом. Стоимость по умолчанию: 20 дерева и 4 смолы, доступно с самого начала игры. У терминала своя модель: каменно-деревянная тумба с наклонным пультом, светящимися рунами и парящим кристаллом над мачтой. Из Valheim взяты только материалы, сами модели игры не используются.
- Поставьте терминал рядом с сундуками и нажмите E.
- Откроется обычное окно сундука вместе с инвентарём, только в нём лежит содержимое всех сундуков в радиусе. Одинаковые предметы показываются одной ячейкой с общим количеством (например, «Дерево 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.
CHANGELOG
Changelog / История изменений
0.4.1
- EN: New bilingual description (English and Russian), changelog. No gameplay changes.
- RU: Новое описание на двух языках и история изменений. Игровых изменений нет.
0.4.0
- EN: Items of the same kind are shown as one slot with the total amount (
UI.MergeStacks). Up to one full stack is taken out at a time. - RU: Одинаковые предметы показываются одной ячейкой с общим количеством (
UI.MergeStacks). За раз берётся до одной полной стопки.
0.3.0
- EN: Search and category chips built into the SeneaL UI chest panel. New custom terminal model.
UI.Columnswindow width setting. Settings added to SeneaL UI's settings window. - RU: Поиск и категории встроены в окно сундука SeneaL UI. Новая собственная модель терминала. Настройка ширины окна
UI.Columns. Настройки добавлены в окно настроек SeneaL UI.
0.2.x
- EN: The terminal opens as a real chest window next to your inventory: drag and drop, split stacks, Take all. Cheaper recipe (20 Wood, 4 Resin). Fixes for Valheim 1.0.20.
- RU: Терминал открывается как настоящее окно сундука рядом с инвентарём: перетаскивание, разделение стопки, «Взять всё». Дешёвый рецепт (20 дерева, 4 смолы). Исправления под Valheim 1.0.20.
0.1.0
- EN: First version.
- RU: Первая версия.