You are viewing a potentially older version of this package. View all versions.
braindeadbons-MineshaftElevatorMusic-1.0.3 icon

MineshaftElevatorMusic

Replaces the mineshaft elevator ride music with synced random tracks from a local folder. No repeats until the full list plays.

Date uploaded 6 months ago
Version 1.0.3
Download link braindeadbons-MineshaftElevatorMusic-1.0.3.zip
Downloads 12
Dependency string braindeadbons-MineshaftElevatorMusic-1.0.3

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2305 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2305

README

Mineshaft Elevator Music (BepInEx)

Author: VULGARUS Credits: ChatGPT x Codex

Mod for Lethal Company v80 (BepInEx 5.4.2305).

What it does

  • Replaces the vanilla mineshaft elevator ride music.
  • Host picks a track from BepInEx/config/MineshaftElevatorMusic using a shuffle queue (no repeats until all tracks are played).
  • All clients play the same track at the same time (network-synced).
  • If a client is missing the file, it will simply stay silent.

Included test track

This package includes a default test track placed in: BepInEx/config/MineshaftElevatorMusic/

Important note (sync requirement)

All players must have the same audio files in: BepInEx/config/MineshaftElevatorMusic

The host only syncs the file name and start time.

Supported formats

  • .ogg (recommended)
  • .wav
  • .mp3 (works if Unity MPEG support is available)

Config

Config file: BepInEx/config/pl.mineshaft.elevator.music.cfg

  • VanillaNameKeywords: comma-separated keywords used to find the vanilla elevator audio source.
  • ClipNameWhitelist: optional comma-separated clip name fragments to match.
  • ObjectNameWhitelist: optional comma-separated object name fragments to match.
  • VanillaStartWindowSeconds: only triggers replacement when vanilla audio time is near the start.
  • RequireElevatorAudioPlaying: when true, only replaces if the source is actively playing.
  • ReplaceAnyPlayingInMineshaft: set true to replace the first playing audio source in the mineshaft (use for troubleshooting).
  • EnableDebugLogs: set true to log candidate sources and triggers.

LethalConfig (optional)

If you have AinaVT-LethalConfig installed, these settings show up in the in-game config menu.

Build

  1. Edit MineshaftElevatorMusic.csproj and set LethalCompanyDir to your game directory.
  2. Build with dotnet build -c Release.
  3. Copy the output DLL to: BepInEx/plugins/MineshaftElevatorMusic/MineshaftElevatorMusic.dll

Thunderstore

  • Thunderstore/manifest.json and Thunderstore/icon.png are ready.
  • Copy the built DLL into Thunderstore/BepInEx/plugins/MineshaftElevatorMusic/.
  • Zip the contents of Thunderstore/ and upload.
  • Users must place music files in BepInEx/config/MineshaftElevatorMusic.

Troubleshooting

  • If no music plays, confirm the folder has at least one .ogg/.wav/.mp3 file.
  • Check BepInEx console for logs about loading or missing audio.

CHANGELOG

Changelog

1.0.6

  • More robust netcode handler init (waits for CustomMessagingManager).
  • Debug helper: logs playing audio sources when elevator source not found.

1.0.5

  • Version bump for Thunderstore upload.

1.0.4

  • Improved LethalConfig registration (delayed init + auto-gen queue).
  • Added startup log for easier troubleshooting.

1.0.3

  • Bundled a default test track inside the package for out-of-the-box testing.
  • Version sync across code and package.

1.0.2

  • Added optional LethalConfig in-game config integration.

1.0.1

  • Improved mineshaft audio detection.
  • Added troubleshooting options (whitelists, forced replacement, debug logs).
  • No-repeat shuffle playback.

1.0.0

  • Initial release.