Skip to content

@loontail/minecraft-kit / InstallPlan

Type Alias: InstallPlan

ts
type InstallPlan = {
  actions: readonly InstallAction[];
  directory: string;
  runtimeManifest?: RuntimeFilesManifest;
  target: InstallPlanTarget;
  targetId: string;
  totalActions: number;
  totalBytes: number;
};

Defined in: src/types/install.ts:176

Pre-computed install plan: a flat ordered list of actions plus computed totals.

The runner consumes this; the plan carries a reference to the resolved target so the runner does not need a second target argument.

Planning is side-effect-free for vanilla and Fabric. Forge is the exception: planning a Forge target materialises the installer JAR and extracts its embedded Maven artifacts to libraries/, because the per-library/processor actions can only be enumerated after reading the installer's install_profile.json from disk. Treat install.plan(forgeTarget) as requiring disk (and network on the first call for a given Forge version — an installer already on disk that still parses is reused, and the Maven flush is sentinel-guarded), not a pure dry-run. The installer itself is never emitted as a plan action.

Properties

PropertyModifierTypeDescriptionDefined in
actionsreadonlyreadonly InstallAction[]-src/types/install.ts:180
directoryreadonlystring-src/types/install.ts:178
runtimeManifest?readonlyRuntimeFilesManifestJava runtime files manifest resolved during planning, when the plan includes a runtime. Carried so the runner can materialize directory/symlink/executable entries without a second fetch of the same manifest.src/types/install.ts:188
targetreadonlyInstallPlanTarget-src/types/install.ts:179
targetIdreadonlystring-src/types/install.ts:177
totalActionsreadonlynumber-src/types/install.ts:182
totalBytesreadonlynumber-src/types/install.ts:181

MIT License