Package-level declarations

Types

Link copied to clipboard
data class DependencySpec(val id: String, val constraint: VersionConstraint)

Dependency specification parsed from a metadata entry.

Link copied to clipboard

Class loader that prefers mod classes while delegating core packages to the parent.

Link copied to clipboard
data class ModContainer(val info: ModInfo, val sourcePath: Path, val instance: LineageMod, val classLoader: ModClassLoader, var state: ModState = ModState.LOADED)

Holds the runtime state for a loaded mod.

Link copied to clipboard
class ModContextFactory(modsDirectory: Path, eventBus: EventBus, commandRegistry: CommandRegistry, scheduler: Scheduler, messaging: Messaging, players: PlayerManager, backends: BackendRegistry, permissionChecker: PermissionChecker, serviceRegistry: ServiceRegistry)

Creates mod contexts with shared runtime services.

Link copied to clipboard
class ModContextImpl(val modInfo: ModInfo, val logger: Logger, val dataDirectory: Path, val configManager: ConfigManager, val eventBus: EventBus, val commandRegistry: CommandRegistry, val scheduler: Scheduler, val messaging: Messaging, val players: PlayerManager, val backends: BackendRegistry, val permissionChecker: PermissionChecker, val serviceRegistry: ServiceRegistry) : ModContext

Default mod context implementation.

Link copied to clipboard

Resolves mod load order based on dependencies.

Link copied to clipboard
data class ModDescriptor(val info: ModInfo, val mainClassName: String, val sourcePath: Path)

Describes a discovered mod and its origin.

Link copied to clipboard
class ModLoader(modsDirectory: Path)

Discovers mod jars and reads their metadata.

Link copied to clipboard
class ModLoadException(message: String, cause: Throwable? = null) : RuntimeException

Thrown when a mod cannot be discovered or validated.

Link copied to clipboard
class ModManager(modsDirectory: Path, contextProvider: (ModInfo) -> ModContext)

Loads and manages mod lifecycle.

Link copied to clipboard

Reads mod metadata from a jar by scanning for @LineageModInfo.

Link copied to clipboard

Validates mod metadata fields for loader safety.

Link copied to clipboard

Lifecycle state for a loaded mod.

Link copied to clipboard
data class SemVer(val major: Int, val minor: Int, val patch: Int) : Comparable<SemVer>

Semantic version representation for mod metadata.

Link copied to clipboard
data class VersionConstraint(val operator: VersionConstraint.Operator, val version: SemVer?)

Version constraint for a dependency.