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.
ModHub
One hotkey menu (F7) that gathers settings windows of all supported mods. Shared UI kit for a unified look.
By Brat
| Date uploaded | 2 hours ago |
| Version | 1.0.0 |
| Download link | Brat-ModHub-1.0.0.zip |
| Downloads | 6 |
| Dependency string | Brat-ModHub-1.0.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202README
ModHub
Одно меню для всех модов. Жмёшь F7 — появляется окно с плитками, клик по плитке открывает настройки нужного мода.
Возможности
- Окно-сетка в стиле Valheim: тёмные слоты, золотая рамка, подпись внизу.
- Плитка мода показывает иконку предмета игры (например, Hammer или Hoe), свою иконку или цветной кружок.
- Подсказка внизу окна при наведении на плитку.
- Пока открыто меню, персонаж и камера стоят на месте, а курсор свободен.
- Если открыто меню какого-то мода, повторное нажатие F7 закрывает его.
- Esc закрывает хаб и не открывает меню паузы.
- Общий UI-кит (
HubUI): окна, кнопки, ползунки, галочки и поля в одном стиле для всех модов. - Масштаб интерфейса подстраивается под разрешение.
- Настройки прямо в игре: кнопка-шестерёнка в левом верхнем углу хаба. Там можно переназначить клавишу (в том числе с Ctrl, Shift или Alt), сменить надпись, число колонок и рядов и масштаб, скрыть ненужные плитки и сбросить всё по умолчанию. Изменения сохраняются в cfg сразу.
Конфиг (BepInEx/config/kaefchik.modhub.cfg)
Всё это можно менять и через шестерёнку в хабе.
| Параметр | По умолчанию | Что делает |
|---|---|---|
| General.HubKey | F7 | Клавиша хаба |
| UI.Title | MODS | Надпись внизу окна |
| UI.Columns | 3 | Плиток в ряду |
| UI.MaxRows | 3 | Рядов без прокрутки |
| UI.Scale | 1.0 | Масштаб всех меню на ModHub |
| UI.HiddenTiles | (пусто) | Скрытые плитки |
Для разработчика: подключение мода
Мод ставит жёсткую зависимость от ModHub, и его меню открывается только из хаба:
[BepInDependency(ModHub.ModHubAPI.GUID)]
public class MyPlugin : BaseUnityPlugin
{
void Awake()
{
ModHub.ModHubAPI.Register(
id: "mymod", title: "MyMod",
open: MyMenu.Open, close: MyMenu.Close, isOpen: () => MyMenu.IsOpen,
itemIcon: "Hammer", description: "Что делает мод", order: 50);
}
}
close и isOpen нужны, чтобы F7 закрывала открытое меню мода. В MyMenu.Open и Close вызывай ModHubAPI.SetInputBlock("mymod", true/false).
Готовые примеры: SpawnMenu.cs в SpawnTweaks и BuildMenu.cs в BuildTweaks.
Предлагаемые иконки для текущих модов:
| Мод | id | itemIcon / цвет |
|---|---|---|
| CustomRecipes | customrecipes | оранжевый кружок |
| BuildTweaks | buildtweaks | Hammer |
| TerraHoe | terrahoe | Hoe |
| GrappleHookPlus | grapple | Chain |
| PartyPlus | party | зелёный кружок |
| SpawnTweaks | spawntweaks | TrophyGreydwarf |
| BiomeMusic | biomemusic | голубой кружок |
| FoodTweaks (скоро) | foodtweaks | MeadHealthMinor |
Как нарисовать меню мода в общем стиле:
void OnGUI()
{
if (!_open) return;
var screen = ModHub.HubUI.BeginScaled();
var win = ModHub.HubUI.Centered(screen, 700, 500);
ModHub.HubUI.Window(win, "Recipes");
if (ModHub.HubUI.CloseButton(win)) Close();
_value = ModHub.HubUI.Slider(new Rect(win.x + 40, win.y + 100, 620, 30), "Множитель", _value, 0f, 5f);
if (ModHub.HubUI.Button(new Rect(win.x + 40, win.yMax - 70, 140, 40), "Назад")) { Close(); ModHub.ModHubAPI.OpenHub(); }
ModHub.HubUI.EndScaled();
}
API для серверных настроек
ModHubAPI.SetInputBlock(id, bool): блокирует управление и не даёт Esc открыть меню паузы.ModHubAPI.HubKey: текущая клавиша хаба.HubNet.IsServer,HubNet.ServerRpc(),HubNet.FindPeer(rpc),HubNet.IsAdmin(peer): помощники для модов, где админ меняет серверный конфиг прямо из меню (так устроены SpawnTweaks и BuildTweaks).
Сборка и выкладка
- Открой
ModHub.csprojв Visual Studio и проверь путиValheimDirиProfileDir. - Собери проект. После сборки DLL сама скопируется в профиль
Kaefchik. - Для Thunderstore упакуй в zip:
manifest.json,icon.png,README.mdиplugins/ModHub.dll. Перед выкладкой проверь, какая версияBepInExPack_Valheimсейчас актуальна, и при необходимости поправь её в манифесте.
CHANGELOG
Changelog
1.0.1
- Updated description (EN/RU): ModHub works only with mods by Brat
- List of supported mods
1.0.0
- First release