pub struct MelonLoader { /* private fields */ }Expand description
Loader implementation for MelonLoader, a mod loader for Unity games.
MelonLoader supports two installation schemes:
- Legacy — routes files to
UserLibs,Plugins,MelonLoader/Managed,MelonLoader/Libs,MelonLoader,Mods, andUserData/ModManager. - Recursive — routes all files into
Modsand keepsUserDatafor mutable config.
§Examples
use loadsmith_loader::{MelonLoader, Loader};
let loader = MelonLoader::with_default_legacy_rules();
assert_eq!(loader.id(), "MelonLoader");Implementations§
Source§impl MelonLoader
impl MelonLoader
Sourcepub fn with_rules(package_install_ruleset: OwnedInstallRuleset) -> Self
pub fn with_rules(package_install_ruleset: OwnedInstallRuleset) -> Self
Creates a MelonLoader with a custom install ruleset.
Sourcepub fn with_default_legacy_rules() -> Self
pub fn with_default_legacy_rules() -> Self
Creates a MelonLoader with the legacy install rules (original
per-directory routing).
Sourcepub fn with_default_recursive_rules() -> Self
pub fn with_default_recursive_rules() -> Self
Creates a MelonLoader with the recursive install rules (all files go
into Mods).
Sourcepub fn set_exclude(&mut self, exclude: GlobSet)
pub fn set_exclude(&mut self, exclude: GlobSet)
Sets a glob set of files to exclude from installation.
Sourcepub fn add_install_rule(&mut self, rule: InstallRule)
pub fn add_install_rule(&mut self, rule: InstallRule)
Adds an install rule to the end of the ruleset.
Trait Implementations§
Source§impl Clone for MelonLoader
impl Clone for MelonLoader
Source§fn clone(&self) -> MelonLoader
fn clone(&self) -> MelonLoader
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MelonLoader
impl Debug for MelonLoader
Source§impl Default for MelonLoader
impl Default for MelonLoader
Source§impl Loader for MelonLoader
impl Loader for MelonLoader
Source§fn id(&self) -> &'static str
fn id(&self) -> &'static str
A unique, human-readable identifier for this loader (e.g.
"BepInEx").Source§fn loader_install_rules(&self) -> InstallRuleset<'_>
fn loader_install_rules(&self) -> InstallRuleset<'_>
Returns the install rules for end-user mod packages.
Source§fn package_install_rules(&self) -> InstallRuleset<'_>
fn package_install_rules(&self) -> InstallRuleset<'_>
Returns the install rules for the loader’s own files (the “loader pack”).
Source§fn generate_launch_args(&self, ctx: &LaunchContext<'_>) -> Result<LaunchArgs>
fn generate_launch_args(&self, ctx: &LaunchContext<'_>) -> Result<LaunchArgs>
Builds the command-line arguments and environment variables needed to
launch the game with this loader.
Source§fn package_config_dirs(&self) -> Vec<PathBuf>
fn package_config_dirs(&self) -> Vec<PathBuf>
Directories that contain mutable per-package configuration.
Source§fn log_file(&self) -> Option<PathBuf>
fn log_file(&self) -> Option<PathBuf>
Path to the loader’s log file, relative to the game directory.
Source§fn prepare_launch(&self, ctx: &LaunchContext<'_>) -> Result<()>
fn prepare_launch(&self, ctx: &LaunchContext<'_>) -> Result<()>
Prepares the game directory by copying files from the profile. Read more
Source§fn package_dir(&self, package: &PackageRef) -> Option<PathBuf>
fn package_dir(&self, package: &PackageRef) -> Option<PathBuf>
Returns the directory where a package’s files are placed, if any.
Auto Trait Implementations§
impl Freeze for MelonLoader
impl RefUnwindSafe for MelonLoader
impl Send for MelonLoader
impl Sync for MelonLoader
impl Unpin for MelonLoader
impl UnsafeUnpin for MelonLoader
impl UnwindSafe for MelonLoader
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more