{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://mc-progression.pages.dev/schemas/player-guide-snapshot-v1.schema.json",
  "title": "McProgression public player guide snapshot v1",
  "type": "object",
  "required": ["schemaVersion", "metadata", "config"],
  "properties": {
    "schemaVersion": { "const": 1 },
    "metadata": {
      "type": "object",
      "required": ["serverName", "preset", "custom", "language", "pluginVersion", "generatedAt", "configRevision"],
      "properties": {
        "serverName": { "type": "string", "maxLength": 100 },
        "preset": { "type": "string", "maxLength": 40 },
        "custom": { "type": "boolean" },
        "language": { "enum": ["en", "nl", "fr", "de", "es", "it"] },
        "pluginVersion": { "type": "string", "maxLength": 40 },
        "generatedAt": { "type": "string", "format": "date-time" },
        "publishedAt": { "type": "string", "format": "date-time" },
        "configRevision": { "type": "string", "pattern": "^[a-f0-9]{64}$" }
      },
      "additionalProperties": false
    },
    "config": {
      "type": "object",
      "required": ["skills", "items", "worldAccess", "globalConfig", "generalXpConfig"],
      "properties": {
        "skills": { "type": "object" },
        "items": { "type": "object" },
        "worldAccess": { "type": "object" },
        "globalConfig": { "type": "object" },
        "generalXpConfig": { "type": "object" }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
