@scml/addon-conflict-checker

TypeScript type definitions for Conflict checker addon, for detecting and managing mod load-order conflicts.

Installation

npm
yarn
pnpm
bun
deno
npm install -D @scml/addon-conflict-checker

Quick Start

Add type reference

Add triple-slash directive in your project to bring in global types:

/// <reference types="@scml/addon-conflict-checker" />

Use global instance

addonConflictChecker is mounted on window; you can access mod conflict detection results.

Import types on demand

import type { ConflictChecker } from '@scml/addon-conflict-checker/ConflictChecker';
import type { ConflictCheckerParams, ModLimit } from '@scml/addon-conflict-checker/ConflictCheckerParams';

Global Types global

Main entry extends Window via /// <reference types="..." />. global The following property is on window:

PropertyTypeDescription
addonConflictCheckerConflictCheckerAddon instance, manages mod load-order constraints
/// <reference types="@scml/addon-conflict-checker" />

// Access mod list
window.addonConflictChecker.modList;
Main entry
Subpath import
/// <reference types="@scml/addon-conflict-checker" />

Subpath Exports

SubpathDescription
.Main entry, augments Window/global
./ConflictCheckerConflictChecker class
./ConflictCheckerParamsConfig params and type guards

API Reference

./ConflictChecker

ConflictChecker class

Addon plugin class implementing LifeTimeCircleHook and AddonPluginHookPointEx, for mod load-order conflict detection.

Constructor

ParameterTypeDescription
gSC2DataManagerSC2DataManagerMod Loader data manager
gModUtilsModUtilsMod utilities

Properties

PropertyTypeDescription
gSC2DataManagerSC2DataManagerData manager reference
gModUtilsModUtilsUtilities reference
loggerLogWrapperLogger
infiniteSemVerApiInfiniteSemVerApiVersion resolution API
modListMap<string, ConflictCheckerParams>Load-order constraints by mod name

Methods

MethodSignatureDescription
registerMod(addonName: string, mod: ModInfo, modZip: ModZipReader) => Promise<void>Register mod, read conflict config
ModLoaderLoadEnd() => Promise<void>Callback when Mod Loader finishes loading

./ConflictCheckerParams

ConflictCheckerParams interface

Load-order constraint config for mod's mod.json or addon config.

PropertyTypeDescription
mustBeforeModLimit[]Mods that must load before this mod
mustAfterModLimit[]Mods that must load after this mod
optionalBeforeModLimit[]Recommended before this mod
optionalAfterModLimit[]Recommended after this mod
blackBeforeModLimit[]Forbidden before this mod
blackAfterModLimit[]Forbidden after this mod

ModLimit interface

PropertyTypeDescription
modNamestringMod name
versionstringVersion (SemVer)

checkModLimit() / checkParams() type guard

  • checkModLimit(ml: any): ml is ModLimit
  • checkParams(a: any): a is ConflictCheckerParams

Type Definition Source

INFO