Files
HMCL/docs/schemas/launcher-settings/1.0.0.json
浩 刘 4118030d9c
Mirror Repository / Mirror to CNB (push) Skipped
Mirror Repository / Mirror to Gitee (push) Skipped
Check Codes / build (push) Successful in 3m50s
Java CI / build (push) Failing after 3h0m1s
feat: auto-fetch Mojang Java 25; strip April Fools, task list, unused locales
On first-capable startup, download java-runtime-epsilon via the existing
BMCLAPI-mirrored Mojang path when missing (progress dialog only; no prompt).

Remove launcher April Fools prompts/settings/UI tags, the top-right task
center page/button, dead NBT/April Fools images, and unused locale packs
(ar/de/es/ja/ru/uk) to shrink the distributable.
2026-11-07 20:19:40 +00:00

239 lines
4.8 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://schemas.glavo.site/hmcl/launcher-settings/1.0.0",
"title": "HMCL Launcher Settings",
"type": "object",
"additionalProperties": true,
"required": [
"$schema"
],
"patternProperties": {
"^\\$schema$": {
"enum": [
"https://schemas.glavo.site/hmcl/launcher-settings/1.0.0"
]
}
},
"properties": {
"language": {
"type": "string"
},
"commonDirectoryType": {
"enum": [
"DEFAULT",
"CUSTOM"
]
},
"commonDirectory": {
"type": "string"
},
"logLines": {
"type": "integer"
},
"selectedTheme": {
"$ref": "#/$defs/themeSelection"
},
"themeAppearanceOverrides": {
"type": "array",
"items": {
"enum": [
"themeBrightnessMode",
"themeColor",
"themeColorStyle",
"titleBarTransparent",
"windowTransparent",
"background",
"backgroundOpacity"
]
},
"uniqueItems": true
},
"themeBrightnessMode": {
"type": "string"
},
"customThemeColor": true,
"themeColorType": {
"enum": [
"DEFAULT",
"CUSTOM",
"BACKGROUND"
]
},
"themeColorStyle": {
"enum": [
"TONAL_SPOT",
"FIDELITY",
"MONOCHROME",
"NEUTRAL",
"VIBRANT",
"EXPRESSIVE",
"CONTENT",
"RAINBOW",
"FRUIT_SALAD"
]
},
"titleBarTransparent": {
"type": "boolean"
},
"backgroundType": {
"enum": [
"DEFAULT",
"BUILTIN",
"CUSTOM",
"NETWORK",
"PAINT",
"THEME_COLOR"
]
},
"builtinBackgroundId": {
"type": "string"
},
"customBackgroundImagePath": {
"type": "string"
},
"networkBackgroundImageUrl": {
"type": "string"
},
"customBackgroundPaint": true,
"backgroundOpacity": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"networkBackgroundImageCachePolicy": {
"enum": [
"ENABLED",
"DISABLED"
]
},
"backgroundFallbackType": {
"enum": [
"BUILTIN",
"PAINT",
"THEME_COLOR"
]
},
"backgroundFallbackPaint": true,
"backgroundLoadPolicy": {
"enum": [
"WAIT_FOR_BACKGROUND",
"SHOW_FALLBACK_WHILE_LOADING"
]
},
"logFontFamily": {
"type": "string"
},
"logFontSize": {
"type": "number"
},
"launcherFontFamily": {
"type": "string"
},
"windowTransparent": {
"type": "boolean"
},
"animationDisabled": {
"type": "boolean"
},
"autoDownloadThreads": {
"type": "boolean"
},
"downloadThreads": {
"type": "integer"
},
"versionListSource": {
"$ref": "#/$defs/downloadSource"
},
"fileDownloadSource": {
"$ref": "#/$defs/downloadSource"
},
"defaultAddonSource": {
"type": "string"
},
"hasProxyAuth": {
"type": "boolean"
},
"proxyType": {
"enum": [
"SYSTEM",
"DIRECT",
"HTTP",
"SOCKS"
]
},
"proxyHost": {
"type": "string"
},
"proxyPort": {
"type": "integer"
},
"proxyUser": {
"type": "string"
},
"proxyPassword": {
"type": "string"
},
"selectedGameDirectory": {
"$ref": "#/$defs/gameDirectoryID"
},
"defaultGameSettingsPreset": {
"$ref": "#/$defs/gameSettingsPresetID"
},
"selectedInstance": {
"type": "object",
"propertyNames": {
"$ref": "#/$defs/gameDirectoryID"
},
"additionalProperties": {
"type": "string"
}
},
"preferredLoginType": {
"type": "string"
},
"selectedAccount": {
"$ref": "#/$defs/accountID"
}
},
"$defs": {
"packageId": {
"type": "string",
"pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*(\\.[A-Za-z0-9][A-Za-z0-9_-]*)*$"
},
"downloadSource": {
"enum": [
"DEFAULT",
"OFFICIAL",
"MIRROR"
]
},
"themeSelection": {
"type": "object",
"additionalProperties": true,
"required": [
"packId"
],
"properties": {
"packId": {
"$ref": "#/$defs/packageId"
},
"themeId": {
"$ref": "#/$defs/packageId"
}
}
},
"accountID": {
"type": "string",
"pattern": "^account:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"gameDirectoryID": {
"type": "string",
"pattern": "^game-directory:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
},
"gameSettingsPresetID": {
"type": "string",
"pattern": "^game-settings-preset:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
}
}
}