pub struct SmapiGame;Expand description
GamePlugin for Stardew Valley, modded via the SMAPI loader.
Trait Implementations§
Source§impl GamePlugin for SmapiGame
impl GamePlugin for SmapiGame
Source§fn display_name(&self) -> &'static str
fn display_name(&self) -> &'static str
Human-readable display name.
Source§fn mod_directory(&self, install: &Path) -> PathBuf
fn mod_directory(&self, install: &Path) -> PathBuf
Return the mod directory relative to the install path.
Source§fn save_directory(&self) -> Option<PathBuf>
fn save_directory(&self) -> Option<PathBuf>
Return the save directory for this game, if known.
Source§fn supports_save_profiles(&self) -> bool
fn supports_save_profiles(&self) -> bool
Whether this game participates in modde’s per-profile save layer. Read more
Source§fn classify_mod(&self, mod_dir: &Path) -> ModSafety
fn classify_mod(&self, mod_dir: &Path) -> ModSafety
Classify whether a mod is save-breaking based on its installed content. Read more
Source§fn classify_extension(&self, ext: &str) -> ContentCategory
fn classify_extension(&self, ext: &str) -> ContentCategory
Classify a file extension into a content category.
Source§fn executable_dir(&self, install: &Path) -> PathBuf
fn executable_dir(&self, install: &Path) -> PathBuf
Return the directory containing the game executable, relative to the install root.
Used to locate proxy DLLs that need Wine overrides.
fn steam_app_id_u32(&self) -> Option<u32>
fn nexus_game_domain(&self) -> Option<&str>
Source§fn analyze_mod_archive(&self, extracted_dir: &Path) -> Option<InstallMethod>
fn analyze_mod_archive(&self, extracted_dir: &Path) -> Option<InstallMethod>
Claim an extracted archive as a game-specific install method. Read more
Source§fn recognizes_bare_layout(&self, extracted_dir: &Path) -> bool
fn recognizes_bare_layout(&self, extracted_dir: &Path) -> bool
Decide whether an extracted archive drops cleanly into the game’s
mod dir without any staging (e.g. a Skyrim archive with a
top-level
Data/ directory, or a Cyberpunk archive with r6/). Read moreSource§fn detect_install(&self) -> Option<PathBuf>
fn detect_install(&self) -> Option<PathBuf>
Attempt to detect the game’s install location.
Default: delegates to
detection::find_game_install(self.game_id()).Source§fn mod_root(&self, install: &Path) -> Result<PathBuf>
fn mod_root(&self, install: &Path) -> Result<PathBuf>
Resolve the actual deployment root for enabled mods. Read more
Source§fn deploy(&self, staging: &Path, target: &Path) -> Result<()>
fn deploy(&self, staging: &Path, target: &Path) -> Result<()>
Deploy staged mods into the game’s mod directory.
Default: recursive symlink farm via
modde_core::fs::deploy_symlinks.Source§fn deploy_to_install(&self, staging: &Path, install: &Path) -> Result<()>
fn deploy_to_install(&self, staging: &Path, install: &Path) -> Result<()>
Deploy staged mods using the game install root as context. Read more
Source§fn post_deploy(&self, _install: &Path) -> Result<()>
fn post_deploy(&self, _install: &Path) -> Result<()>
Run any post-deployment steps (e.g.
REDmod deploy).Source§fn deploy_targets(&self) -> &'static [DeployTarget]
fn deploy_targets(&self) -> &'static [DeployTarget]
Alternate deployment roots this game exposes to the installer
(e.g. user-config dirs for INI tweak packs). Default: none, in
which case the installer only ever stages into the game install
dir. The order is significant: when the analyzer needs to pick
a default target for a given
DeployTargetKind it takes the
first one of that kind.Source§fn resolve_deploy_target(&self, _id: &str, _install: &Path) -> Option<PathBuf>
fn resolve_deploy_target(&self, _id: &str, _install: &Path) -> Option<PathBuf>
Resolve a
DeployTarget::id this plugin advertises to a real
filesystem path, using the live install dir for any path that
must be derived from it (e.g. Steam compatdata adjacent to
steamapps/common/<game>). Returns None if the target id is
unknown to this plugin or the path cannot be resolved on this
system (e.g. the Wine prefix doesn’t exist yet).Source§fn wine_dll_overrides(&self, _game_dir: &Path) -> SmallVec<[String; 4]>
fn wine_dll_overrides(&self, _game_dir: &Path) -> SmallVec<[String; 4]>
Scan the game directory for proxy/hook DLLs that need Wine
n,b overrides. Read moreSource§fn wine_dll_overrides_from_staging(
&self,
_staging: &Path,
) -> SmallVec<[String; 4]>
fn wine_dll_overrides_from_staging( &self, _staging: &Path, ) -> SmallVec<[String; 4]>
Scan the staging directory for proxy DLLs that mods deploy.
This catches DLLs that may have been deleted by other tools (e.g. fgmod)
from the game directory but are still needed.
fn ini_file_names(&self) -> &[&str]
fn archive_extensions(&self) -> &[&str]
fn has_plugin_system(&self) -> bool
fn plugins_txt_folder(&self) -> Option<&str>
Source§fn nexus_game_id_u32(&self) -> Option<u32>
fn nexus_game_id_u32(&self) -> Option<u32>
Numeric Nexus game ID. Required by the GraphQL v2 API for
browse/search queries (which take
gameId: Int, not a domain
string). Games that only speak REST can leave this None.Source§fn summarize_content(&self, mod_dir: &Path) -> ContentSummary
fn summarize_content(&self, mod_dir: &Path) -> ContentSummary
Scan a mod directory and return a content summary.
Auto Trait Implementations§
impl Freeze for SmapiGame
impl RefUnwindSafe for SmapiGame
impl Send for SmapiGame
impl Sync for SmapiGame
impl Unpin for SmapiGame
impl UnsafeUnpin for SmapiGame
impl UnwindSafe for SmapiGame
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