pub struct EnabledMod {
pub id: String,
pub content: Box<dyn ModContentProvider>,
pub enabled_layers: Option<HashSet<String>>,
}Expand description
A mod to be included in the overlay build.
Each enabled mod contributes override files through its ModContentProvider.
Mods are processed in the order they appear in the enabled_mods list passed to
OverlayBuilder::set_enabled_mods. Position 0 (first in the list) has the
highest priority — when two mods override the same path hash, the mod
closer to the front of the list wins.
Fields§
§id: StringUnique identifier for the mod (used in state tracking and logging).
content: Box<dyn ModContentProvider>Content provider for accessing mod metadata and override files.
This can be backed by a filesystem directory, a .modpkg archive, a
.fantome ZIP, or any other source that implements ModContentProvider.
enabled_layers: Option<HashSet<String>>Optional set of layer names to include. When Some, only layers whose
names are in this set will be processed during overlay building. When
None, all layers are included (backward-compatible default).
Implementations§
Source§impl EnabledMod
impl EnabledMod
Sourcepub fn cache_fingerprint(&self) -> Option<u64>
pub fn cache_fingerprint(&self) -> Option<u64>
Compute a cache fingerprint that accounts for both content changes and
the current enabled_layers selection.
Returns None if the underlying content provider cannot compute a
fingerprint (the metadata cache will be skipped for this mod).
Sourcepub fn is_layer_active(&self, layer_name: &str) -> bool
pub fn is_layer_active(&self, layer_name: &str) -> bool
Returns whether the given layer name should be processed for this mod.
A layer is active when:
enabled_layersisNone(all layers enabled), OR- The layer is the base layer (
BASE_LAYER_NAME), OR - The layer is explicitly listed in
enabled_layers.
Auto Trait Implementations§
impl Freeze for EnabledMod
impl !RefUnwindSafe for EnabledMod
impl Send for EnabledMod
impl Sync for EnabledMod
impl Unpin for EnabledMod
impl UnsafeUnpin for EnabledMod
impl !UnwindSafe for EnabledMod
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more