You are viewing a potentially older version of this package. View all versions.
Sirdoggy-SideloaderMint-1.3.0 icon

SideloaderMint

Updated version of Sideloader with new features

Date uploaded a month ago
Version 1.3.0
Download link Sirdoggy-SideloaderMint-1.3.0.zip
Downloads 2732
Dependency string Sirdoggy-SideloaderMint-1.3.0

This mod requires the following mods to function

BepInEx-BepInExPack_H3VR-5.4.1700 icon
BepInEx-BepInExPack_H3VR

BepInEx pack for H3VR. Preconfigured and ready to use.

Preferred version: 5.4.1700
bbepis-XUnity_ResourceRedirector-4.16.3 icon
bbepis-XUnity_ResourceRedirector

The resource director allows you to modify resources loaded through the Resources and AssetBundle API as they are being loaded by the game.

Preferred version: 4.16.3

README

Introduction

SideloaderMint is an asset loader for H3VR focused on easily making asset replacements. It's been forked from Sideloader and updated with plenty of new features. SideloaderMint supports per-firearm and per-magazine sound replacements, allows overriding pitch and volume of AudioClips, includes quality-of-life improvements for writing addon manifests, and more!

The full developer documentation is available at: https://gitlab.com/Sirdoggy/SideloaderMint/-/wikis/home

Configuring installed addons

Installed addons can be configured via the SideloaderMint.cfg config file — you can set their load priorities and disable them individually (very handy if several addons are packed into a single Thunderstore mod!). You must launch the game to have your installed addons appear in the config.

Q&A

Can I uninstall the old Sideloader if I have this?

You should still keep it installed if you have mods that depend on it. SideloaderMint will not conflict with Sideloader - you can have both installed alongside each other.

I'm a mod developer - can this load my Sideloader mods?

Yes, but you need to port them first. Doing this is very easy, see: Porting addons from Sideloader

I want to make mods with this, where should I start?

Try making your first addon by following the guide here: Getting Started

CHANGELOG

1.3.0

Additions

  • Added soundVolumeMultiplier and soundPitchMultiplier properties for AudioClip and GunSound/AudioSet replacements. If used together with the existing soundVolume and soundPitch properties, the multiplier is applied after them.
  • Added wildcard support to the path and paths properties.
    • Wildcards can only be used in the file name segment of the path. For example "path": "MySounds/*/*" is invalid.
    • Wildcards do not match directories and can not search directories recursively.
    • Example usage:
      • "path": "Gunshots/*" — selects all files in the "Gunshots" directory
      • "paths": ["concrete_impact*", "rock_impact*"] — selects all files in the same directory as the manifest whose names start with "concrete_impact" or "rock_impact"
      • "paths": ["*.wav"] — selects all .wav files in the same directory as the manifest
  • Added support for accessing files outside of an addon's directory.
    • You can reference any file as long as it's in your mod's plugin directory.
    • Paths are still relative to the manifest, so use ../ to navigate up to the parent directories.
    • For example, to access files from one sub-addon in another sub-addon you can do something like this:
      • "path": "../OtherSubAddon/some_file.wav"

Breaking changes

  • All paths specified in path or paths fields are now validated before an addon loads.
    • If any path points to a non-existent file, the addon will not load
    • Wildcards are also validated and must match at least one file
    • All addons currently uploaded on Thunderstore were tested to ensure compatibility

1.2.2

  • Sub-addon directory names now have less strict validation — allowed characters are now: a-z, A-Z, 0-9, , _, ., ,, (, and ).

1.2.1

Additions

  • If you uninstall an addon, all of it's associated settings will now be removed from the config file upon launching the game.
    • This behaviour is enabled by default, but can be disabled in the config file.

1.2.0

Additions

  • Added ability to disable addons and set addon priorities via the config file.
    • If a mod author bundles several addons in one Thunderstore mod, you can configure them individually.
    • Addon priorities determine their load order in case of conflicts.
    • You must launch the game to have your installed addons appear in the config file.

Changes for addon developers

  • Added optional priority parameter to addon manifests, which can be used to specify the default priority value in an addon's config.
    • The parameter takes values between -20 and 20.
    • If the parameter is not specified, default addon priority of 0 will be used.
  • Stricter validation for sub-addon directory names — allowed characters are now a-z, A-Z, 0-9, and _.

1.1.1

Fixes

  • Fixed filepath not being logged in the console when a file could not be loaded from an addon.

1.1.0

Additions for addon developers

  • Added new target sub-segments for bolt-related events in GunAudioSet and GunSound replacements, which can be used to scope them to only trigger in specific circumstances:
    • AfterShot (for BoltSlideForward) — triggers only after a firearm shot.
    • AfterManualCharge (for BoltSlideForward) — triggers only after a player's manual interaction with the firearm bolt.
    • AfterHKSlap (for BoltSlideForward:AfterManualCharge and HandleForward) — triggers only after a bolt handle HK-slap.
    • These are meant to serve as a better alternative to using the vanilla BoltRelease event, which is very unreliable.
    • See the wiki for further explanations on how to use these.
  • Added support for "_mute" as a valid value for the path parameter in AudioClip, GunAudioSet, and GunSound replacements. Using "_mute" will silence the target sound, which means you no longer need a dedicated .wav file for that in your addons. Requires ManifestRevision "2".

Other changes

  • Names of addons that are being loaded by SideloaderMint are now printed to the console when launching the game.

1.0.0

Initial release