tehAon’s Control Panel – Every Mod’s Settings and Hotkeys in One Screen

tehAon’s Control Panel – Every Mod’s Settings and Hotkeys in One Screen

One settings screen for ever...

MOD ID: 11761作者: tehaonカテゴリ: User Interfaceバージョン: 0.5.0更新日: 2026-09-16(今日更新)用途: 汎用人気スコア: 0
#UI

📝 このMODの解説記事

まだ解説記事はありません。読みたい方はリクエストできます(運営が記事化を検討します)。

🔑 Nexus連携(高評価・追跡)

🏷 タグ

User InterfaceUtilities for PlayersAI-Generated Content

📂 ファイル・バージョン

ダウンロードは Nexus Mods 上で行われます(当サイトではファイルを配布しません)。対応バージョンは各ファイルの記載をご確認ください。

メイン ControlPanel_v0.5.0_gameV3.0.0-V3.2.0.zip v0.5.0
📦 95.6 KB 
更新履歴(changelog)
- **The panel is laid out like the game's own Options screen now.** Four tabs across the top — MODS,
SETTINGS, KEYS, ACTIONS — with the list of mods down the side. Those three views used to sit at the
top of the sidebar as pseudo-mods, which meant *what you were looking at* and *which mod you were
looking at* shared one column and took turns being highlighted. They are two different questions
and they now have two different controls.
- **The sidebar is a FILTER, and works on every tab.** Picking a mod narrows whatever tab you are on
to that mod; the new `All mods` row at the top clears it. It used to be the mod picker for the
Settings tab alone and simply sat there doing nothing on the other three — *"the left side list of
mods shows for all the top tabs but it looks meant to be specific to the settings tab"*. That was
the right read. Filtering is also the answer to "show me just Focus's keys" on an install carrying
43 bindings, and on the Keys tab a conflict survives the filter if EITHER side is the mod you
picked, since what it collides with is the thing you came to find out.
The badge beside each mod now counts whatever the tab is about — bindings on Keys, actions on
Actions, changed settings on Settings, and on Mods how many are switched off. A count of the wrong
thing is worse than no count.
`All mods` on the Settings tab is a real view now rather than an empty page: every setting on the
install, each mod under its own heading.
- **The sidebar scrolls, and says where you are in it.** It has 17 row slots and this install has 26
mods, so **nine of them were unreachable** — the list did not scroll and nothing said it was
truncated, which reads as the panel having failed to find them. It now scrolls with the wheel,
`All mods` stays pinned at the top, and a footer reads `11-26 of 26` whenever there is more than
fits. (This one predates the tabs; adding the `All mods` row is what made it obvious.)
- **Values change in place, with a left/right arrow on the row.** Boo…
⬇️ Nexus でダウンロード
旧バージョン(4件)を表示
旧バージョン Control Panel (Game V3.0.0 - V3.1) v0.2.0
⬇️ 121
更新履歴(changelog)
The panel wrote `*.local.xml` for every mod, but only some mods read one. For the rest it reported
success, the player restarted, and nothing had changed — the worst outcome available, because it
looks exactly like it worked. On the author's own install that was ten of twenty-two mods.
- **Mods that read no override file are now edited in their own config.** Each mod's assemblies are
scanned for the literal `.local.xml`; a mod that never names one cannot be reading one. Those mods
are marked `[direct]` in `ms`, and every change says plainly that it went into the mod's own file
and that an update to that mod will replace it. The file is copied to `*.orig.xml` before the first
write, which is both a restore point in a mod we do not own and the baseline "reset to default"
measures against — otherwise the baseline would drift to whatever the file said at world load.
- **A manifest can declare `overrides="local"` or `overrides="direct"`.** Consulted only when there
is no assembly to read — an XML-only mod, or a half-installed one. The installed DLL wins over a
manifest otherwise: a manifest promising an override file the player's actual build does not read
puts the panel back to writing files nobody opens.
- **A concurrent writer is no longer clobbered.** Saves re-read the file from disk and replay the
staged edits onto that, instead of writing the copy loaded at world load. ScoutMap rewrites its own
override file whenever the map is moved or resized, and a mod that owns its config rewrites it on
every console command — so changing any ScoutMap setting in the panel used to silently revert the
map layout to wherever it was when the world loaded.
- **`threatMaxY` and `maxMarginSeconds` were missing** from the bundled ScoutMap and FuelTopOff
manifests, so the panel hid two real settings. A manifest replaces the generic reader rather than
merging with it, which is exactly the failure the coverage test exists to catch — and it was not
catching it, see below.
- **The test sui…
⬇️ Nexus でダウンロード
旧バージョン ControlPanel_v0.2.1_gameV3.0.0-V3.1.zip v0.2.1
⬇️ 2
更新履歴(changelog)
Two bugs the panel could not report on itself, both found by looking at the screen.
THE SIDEBAR NEVER REPAINTED. Clicking a different mod changed the settings list but left the
highlight, the amber name and the changed-count on the mod you came from - the one thing on screen
telling you where you are was the one thing that was wrong. Every {binding} registers on the nearest
enclosing controller that is not a bare XUiController and stops there, so a sidebar row owns its
name, count and selected state exclusively. IsDirty is an inert field on XUiController: the base
Update never reads it, only XUiC_List and its nested XUiC_ListEntry do, which is why the middle list
needed nothing. The row set the flag and nothing consumed it, so it kept whatever it was painted
with the first time. It now consumes its own dirty flag from Update, the way the vanilla list entry
does.
SCOUTMAP'S SEVEN KEY BINDINGS WERE READ AS PLAIN TEXT, so they were absent from the KEYS page,
absent from the conflict check, and could not be rebound by pressing a key - while their rows looked
perfectly normal. The type inference in both the panel and the manifest generator matched only the
suffix spelling (stackHotkey); ScoutMap names its bindings the other way round (keyToggle,
keyZoomIn). Both now match either spelling and confirm it against the value, with a numeric guard:
Enum.Parse reads a bare "5" as KeyCode 5, which would have turned a keyRepeatDelay into an
unbindable hotkey. keyNudgeModifier stays text on purpose - a held modifier never fires on its own,
and the key capture refuses to record one.
With ScoutMap's keys visible, the KEYS page now reports collisions that were always there and could
not be seen: F5 (ScoutMap toggle vs Materialist panel), Backslash (ScoutMap rotate vs Focus panel),
and Home / End (ScoutMap size and corner vs SteadyView's HUD and pin).
Regression tests for both, 199 total: both binding spellings and the near misses that must NOT be
read as keys (a localization id, a n…
⬇️ Nexus でダウンロード
アーカイブ ControlPanel_v0.2.2_gameV3.0.0-V3.1.zip v0.2.2
⬇️ 222
更新履歴(changelog)
ScoutMap 0.2.0 shipped a round map, and the bundled manifest still described the square one.
EIGHT NEW SCOUTMAP SETTINGS ARE ON THE PANEL: hardCircle, showFrame, rimPx and colorRim under View,
and refreshSecondsFast, fillFromLoadedChunks, mapFillPerSweep and requestServerMapStream under
Upkeep. Without them the round map, the rim and the two map-completeness fixes were configurable
only by editing XML - which is the thing this panel exists to stop.
FIVE SETTINGS SCOUTMAP REDEFINED NOW SAY WHAT THEY NOW DO. circleMask no longer "fades the corners
to colorVignette"; it selects a genuinely clipped round map. maxSpanBlocks became a ceiling rather
than a size, rotateWithPlayer is safe with either shape, showAnimals covers the "awake" mode as well
as "all", and debugTiming logs two more counters. Stale help is worse than none: it is read as
current and acted on.
FOCUS GAINED THE EIGHT SETTINGS ITS MANIFEST NEVER HAD: money, moneySeconds, moneyContainers,
moneyRadius, moneyTraders, moneyUnlockedOnly, harvestDebug and harvestDebugRows. This one was not
new - the bundled-manifest coverage test had been failing on it for some time, which is exactly the
failure a test is supposed to stop you shipping past. The manifests now cover every setting every
bundled mod ships, and the suite is green at 200.
Nothing in the panel's own code changed.
⬇️ Nexus でダウンロード
旧バージョン Control Panel V0.3.0 (Game V3.0.0 - V3.2.0) v0.3.0
📦 87.4 KB ⬇️ 40
更新履歴(changelog)
- **Claims game 3.2.0.** `GAME_VERSIONS` widens from `V3.0.0-V3.1` to `V3.0.0-V3.2.0`.
Verified in game on a real V3.2.0 b10 client, not inferred: see `VERIFIED` for what was
actually exercised. No behaviour changed — this release is the claim and nothing else.
## Unreleased
- **A MODS view, and `ms mods` / `ms on <mod>` / `ms off <mod>`: switch a whole mod off from here.**
The panel could already show every binding and every collision, and rebind either side of one —
but the answer a player actually reaches for is often "leave both keys alone and turn one of the
two mods off while I use the other", and that meant finding the mod's own `enabled` setting inside
its own page. It is now one screen: every mod, ON or OFF, how many keys it claims, and how many of
them are in conflict, with the off ones counted on the sidebar.
The toggle writes the mod's own root-level `enabled` through the same path every other setting
change takes — override file, live reload — so it is a different way in, not a second mechanism.
Mods that ship no such setting are LISTED as such rather than silently missing, because a mod
absent from the list reads as the panel failing to see it.
- **`package.sh` now refuses to build a zip whose game-version label it cannot back up.** New
`tools/check_game_versions.py` reads `GAME_VERSIONS`, finds a game build for each version named,
and resolves every external reference in the DLL against all of them. A claimed version with no
build available fails too, rather than quietly passing — an unverified claim is the point. It also
compares `GAME_VERSIONS` against the same claim spelled in C#, so the zip name and the line the
mod prints at startup cannot drift apart.
This is the check that would have caught DroneAutomation v0.7.3, which shipped labelled
`V3.0.0-V3.1` and could not run on 3.0.0 at all. It was built against a newer game, which had
moved `AddItem` onto a base class 3.0.0 does not have — and the build succeeded, a refcheck
against 3.1 …
⬇️ Nexus でダウンロード

📦 このMODを含むコレクション (全1件)

このMODが採用されている Nexus コレクション(人気順)。まとめて導入したい人の入口に。

MOD 解説

所有しているすべてのMODごとに1つの設定画面があり、どのMODが同じキーを競合させているかをようやく確認できる場所がここにあります。ゲーム内から、私のMODであれ他者のMODであれ、どのMODでも調整でき、インストール済みのすべてのホットキーを一つの表で確認できます。

原文(英語)を表示

One settings screen for every mod you have, and one place that finally tells you which of them are fighting over the same key. Tune any mod from inside the game — mine or anyone else's — and see every hotkey on your install in one table,

導入前チェック(前提 / 競合 MOD)

情報はまだありません。導入済みの方はコメントで情報をお寄せください。

コメントする