Skip to content

Enums and types

Public types live under src/types/. The barrel src/types/index.ts re-exports them; the package's index.ts re-exports the barrel.

Const enum maps

ObjectValues
LoadersVANILLA FABRIC FORGE
MinecraftChannelsRELEASE SNAPSHOT OLD_BETA OLD_ALPHA
VersionPreferenceLATEST RECOMMENDED
RuntimePreferenceRECOMMENDED LATEST
RuntimeComponentsJRE_LEGACY JAVA_RUNTIME_GAMMA JAVA_RUNTIME_DELTA
VerificationKindsMINECRAFT FABRIC FORGE RUNTIME
VerifyFileStatusesOK MISSING CORRUPT WRONG_SIZE
VerifyFileCategoriesCLIENT_JAR LIBRARY ASSET ASSET_INDEX NATIVE LOADER_LIBRARY RUNTIME_FILE LOGGING_CONFIG
InstallPhasesPLANNING DOWNLOADING_LIBRARIES WRITING_FILES EXTRACTING_NATIVES INSTALLING_RUNTIME RUNNING_FORGE_PROCESSORS COMPLETED
InstallActionKindsDOWNLOAD_FILE EXTRACT_NATIVE RUN_FORGE_PROCESSOR WRITE_VERSION_JSON WRITE_LOGGING_CONFIG
EventTypesOne literal per ProgressEvent.type
AuthModesOFFLINE ONLINE
LogLevelsDEBUG INFO WARN ERROR
ts
import { Loaders, EventTypes, VerificationKinds } from "@loontail/minecraft-kit";

if (target.loader.type === Loaders.FABRIC) { /* narrows */ }

const result = await kit.verify.minecraft.run(target);
if (result.kind === VerificationKinds.MINECRAFT) { /* narrows */ }

Discriminated unions

UnionDiscriminator
Loadertype: Loaders.*
InstallActionkind: InstallActionKinds.*
ProgressEventtype: EventTypes.* (string literal)

A switch on the discriminator gives you exhaustiveness checking — TypeScript will tell you if you forgot a case.

The API reference has the full shape of every interface and field.

MIT License