You are viewing a potentially older version of this package. View all versions.
KydlDev-KydlCore-1.1.0 icon

KydlCore

Shared runtime for all KydlDev mods: one UI root and theme, the KY hub window (F6; the one menu of every KydlDev mod) and the KY-Items category and registry.

By KydlDev
Date uploaded a day ago
Version 1.1.0
Download link KydlDev-KydlCore-1.1.0.zip
Downloads 316
Dependency string KydlDev-KydlCore-1.1.0

This mod requires the following mods to function

ValheimModding-Jotunn-2.30.2 icon
ValheimModding-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.2
denikson-BepInExPack_Valheim-5.4.2360 icon
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.2360

README

KydlCore

Shared runtime for all KydlDev mods: one UI root and theme, the KY hub window (F6; the one menu of every KydlDev mod) and the KY-Items category and registry.

Features

  • KY hub (F6): one window for every KydlDev mod. Row 1 lists the installed mods, row 2 their tabs (settings, the mod's own pages). Escape closes it; your character does not move while it is open.
  • Settings pages: every KydlDev mod's player settings as switches, sliders, drop-downs and key pickers, with live reload (a change applies at once).
  • KY-Items: the hammer category of all KydlDev build pieces and a tab listing every item and piece the installed KydlDev mods add (shown only when such a mod is installed).
  • Shared look: dark panels, gold accents, one font for every KydlDev menu.
  • Flight recorder: when something goes wrong (an error of a KydlDev mod, a failed self-check) KydlCore writes a short report file with what the tracked creatures and the game were doing in the last two minutes, so a bug report can include it. It only keeps this in memory until then.

How to use

  • Press F6 in game (changeable: [General] HubKey).
  • KydlCore has no gameplay of its own: install it together with the KydlDev mods that need it (your mod manager does this for you).
  • KydlCore is always on: it has no on / off switch, because every KydlDev mod relies on it.

Configuration

BepInEx/config/com.kydldev.KydlCore.cfg (or the hub's Settings tab):

Section Setting Default What it does
General HubKey F6 Opens / closes the KY hub (None = no key)
DebugLog Enable false Detailed lines in the BepInEx log for bug reports
Diagnostics FlightSampleSeconds 1 Flight recorder: seconds between two samples (0.25-10)
Diagnostics FlightWindowSeconds 120 Flight recorder: seconds of history a report holds (30-600)
Diagnostics FlightMaxDumps 30 Most report files written per game start (1-200)
Diagnostics FlightKeepDays 3 Reports older than this many days are removed at game start (1-30)
Diagnostics FlightKeepFiles 100 Most report files kept; the oldest go first (10-1000)

Edits to the file are picked up while the game runs.

Multiplayer

KydlCore can be installed on your game only: you can join a server without it. When the server has it too, both must have exactly the same version. The KydlDev gameplay mods themselves must be on every player and the server (each says so in its own description).

For mod makers (KydlDev mods)

Hub tabs: KyHub.AddTab / AddPage / RemoveTab / HasTab / ConfigEntries. KY-Items: KyItems.Contribute(new KyContribution { Id = "<modid>:<item>", ... }) (duplicate ids are rejected), KyItems.Withdraw(id), KyItems.All / FindById / Changed. Diagnostics: FlightRecorder.Track(component, label, () => facts) for every creature or object the mod moves, FlightRecorder.Dump(reason) from a watchdog, FlightRecorder.Note / Untrack; ModLog.State / Decision / Every / IsDue write debug lines and feed the recorder's timeline.

Bug reports

Turn on [DebugLog] Enable, reproduce the problem, and attach BepInEx/LogOutput.log. If BepInEx/cache/KydlCore/flight/ holds a newer report file, attach that too.

CHANGELOG

Changelog

1.1.0

  • New for mod authors: the flight recorder. FlightRecorder.Track(component, label, facts) keeps the last two minutes of a creature or object (position, speed, health, AI target, network owner, whether its zone is loaded, the mod's own facts); FlightRecorder.Dump(reason), Note, Untrack, LastDumpPath and TrackedCount complete it. It is always on, in memory only.
  • It writes a report file to BepInEx/cache/KydlCore/flight/ only when something goes wrong: a failed DrakesTestLab test, a CHECK OFF, an error of a KydlDev mod, or a mod's own FlightRecorder.Dump. At most 30 files per game start; files older than 3 days and everything beyond the newest 100 are removed at game start. Attach such a file to a bug report.
  • New for mod authors: ModLog.State, ModLog.Decision, ModLog.Every and ModLog.IsDue (debug lines as before, and always on the flight recorder's timeline, even with the debug log off).
  • New settings in the [Diagnostics] section (hub Settings tab): FlightSampleSeconds (1 s), FlightWindowSeconds (120 s), FlightMaxDumps (30), FlightKeepDays (3), FlightKeepFiles (100). They only size the recorder; it cannot be switched off.
  • Nothing was removed or renamed: mods built for KydlCore 1.0.0 keep working. A server that runs 1.1.0 needs the same version on every player who has KydlCore (exact match).
  • Tested in game with the full TestLab suite (8 tests, including the new flight recorder test): 3 green runs in a row on 2026-11-08; no errors from this mod, all 13 KydlDev mods loaded together.

1.0.0

  • Tested in game with the full TestLab suite (7 tests): 3 green runs in a row on 2026-11-05, plus the ecosystem run with all 12 KydlDev mods loaded together.
  • New for mod authors: PieceLearning (learn a build piece with the game's normal "new piece" message, check known pieces / items).
  • Settings pages: a setting name that is too long is cut with "..." instead of running under its slider, long text values (webhook URLs) stay inside their box, and sliders are about 10 % shorter with a gap to the name. New mod icon.
  • KydlDev spec layout; KY-Items: Jotunn-free registry with namespaced contributions (KyItems.Contribute / Withdraw / FindById), duplicates rejected; KyHub.HasTab; KydlCore can no longer be switched off (no EnableAll); exact network version, joins servers without KydlCore (VersionCheckOnly). Checked in game on 2026-11-04 (clean start and quit with all mods loaded, no errors from this mod).
  • First version (project created 2026-10-29). Checked in game on 2026-11-04 (clean start and quit with all mods loaded, no errors from this mod).