LiveSplitHooks
Automatic LiveSplit start/split/reset for Mycopunk. IL reset-before-start, objective splits, per-mission split profiles.
About this mod Author’s original text
LiveSplitHooks
A BepInEx mod for Mycopunk that drives LiveSplit automatically over its named pipe command
server. No ASL script required.
Features
- Auto start when a mission begins
- Auto reset + start on each new mission (IL-style; configurable)
- Auto split on successful mission completion
- Auto reset on mission fail / abort
- Optional splits on each main objective
- Incursion floor-clear splits (default target floor 30; ends the run at max floor)
- Sub-mission transitions (e.g. Cranius after setup): split, swap profile, start
- Per-mission split profiles — auto switchsplits by mission name/id
- Load removal via LiveSplit game time (pausegametime / unpausegametime)
- Auto-reconnect if LiveSplit is opened after the game
- Fully configurable triggers
Requirements
- Mycopunk
- BepInEx (BepInExPack for Mycopunk)
- LiveSplit running on the same PC
- For split profile switching: a recent LiveSplit build that supports the switchsplits pipe command
LiveSplit setup
- Open LiveSplit and load your splits layout as usual.
- Keep LiveSplit running while you play. The named pipe server (\\.\pipe\LiveSplit) is available by default — no
extra component is required for pipe control.
- Optional: Right-click LiveSplit → Control → compare against Game Time if you use load removal.
- Launch Mycopunk with the mod installed.
When a mission starts you should see the timer reset (if a previous run exists) and start. Completing the mission
splits; failing resets (defaults).
IL vs full-game
- Individual missions (default): leave ResetBeforeStartOnMissionBegin = true. Each mission is its own LiveSplit
attempt (reset + start on begin, split on complete).
- Full-game / multi-mission route: set ResetBeforeStartOnMissionBegin = false so the timer keeps running across
missions. Use one split segment per mission with SplitOnMissionComplete = true. Prefer leaving split profiles off
for full-game runs.
Objective splits
Set SplitOnObjectiveComplete = true to split on each main (non-side) objective. Keep SplitOnExtractObjective = false
if SplitOnMissionComplete already ends the run, or you will double-split at extract.
Incursion (floor 30)
Incursion never ends in-game. The speedrun category ends at floor 30.
When the active mission id is listed in FloorChangeSplitMissionIds (default incursion):
- Timer starts on mission begin as usual
- Each floor clear (floor number increases) sends split
- Door code skips that jump multiple floors emit one split per floor crossed (keeps a 30-segment layout aligned)
- Clearing floor 30 (entering floor 31, or skipping past 30) sends the final split and ends the LiveSplit run (
IncursionEndRunAtMaxFloor, default true)
- Final time stays on screen; further floors / mission fail later do not reset or split this attempt
Suggested incursion.lss: 30 segments (cleared floor 1 … cleared floor 30). No extract segment.
Cranius (sub-mission)
Cranius loads after a setup mission on Moldy Tundra (often planet_def). With SplitOnSubMissionTransition = true (
default):
- Setup mission starts → normal start (and optional profile)
- Cranius mission starts → split (ends setup attempt) → reset → switchsplits to Cranius profile → start
The game’s mission id is literally???; C# type is FlatTundraMission. The mod sets primary key cranius. Put these in your live profiles.txt (not only the example file):
cranius => Mycopunk - cranius.lss??? => Mycopunk - cranius.lss
FlatTundra Mission => Mycopunk - cranius.lss
FlatTundraMission => Mycopunk - cranius.lss
planet_def => Mycopunk - planet_def.lss
Cranius is separate from Amalgamation — only Flat Tundra / cranius aliases apply.
Per-mission split profiles
Use this when different missions need different.lss files (e.g. different objective counts).
- Put your.lss files in one folder (any path). Filenames can include the game prefix, e.g.
Mycopunk - cleanup_detail.lss.
- In config (BepInEx/config/sparroh.livesplithooks.cfg):
[SplitProfiles]
Enabled = true
Directory = C:\Pat
Install & use Install: follow the bundled instructions
- Unzip the archive from playbuff and read the bundled readme / instructions first.
- Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
- For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
- Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.
Install locations vary a lot between mods — the bundled readme is the most reliable guide.
Install these first, or the mod will not work: