Skip to content

Instantly share code, notes, and snippets.

@shimizu-izumi
Last active January 15, 2026 12:32
Show Gist options
  • Select an option

  • Save shimizu-izumi/177d62c75b7322c2a09d3cadedca1acc to your computer and use it in GitHub Desktop.

Select an option

Save shimizu-izumi/177d62c75b7322c2a09d3cadedca1acc to your computer and use it in GitHub Desktop.
JSON schema file for Hytale plugin manifests
{
"title": "Hytale Plugin Manifest",
"type": "object",
"properties": {
"Group": {
"type": "string",
"description": "Group name, e.g. the author's circle/company"
},
"Name": {
"type": "string"
},
"Description": {
"type": "string"
},
"Version": {
"$ref": "#/$defs/SemverRange"
},
"Authors": {
"type": "array",
"items": {
"$ref": "#/$defs/AuthorInfo"
},
"uniqueItems": true
},
"Website": {
"type": "string",
"format": "uri"
},
"Main": {
"type": "string",
"description": "Full qualified package path to main class, e.g. org.example.ExamplePlugin",
"pattern": "^(?:[a-z][a-z0-9]*\\.)+[A-Z][A-Za-z0-9]*$",
},
"ServerVersion": {
"type": "string",
"description": "Hytale server version compatible with the plugin",
"default": "*"
},
"Dependencies": {
"$ref": "#/$defs/DependencyInfo"
},
"OptionalDependencies": {
"$ref": "#/$defs/DependencyInfo"
},
"LoadBefore": {
"$ref": "#/$defs/DependencyInfo"
},
"SubPlugins": {
"type": "array",
"items": {
"$ref": "#"
},
"uniqueItems": true
},
"DisabledByDefault": {
"type": "boolean",
"default": false
},
"IncludesAssetPack": {
"type": "boolean",
"default": false
}
},
"required": [
"Group",
"Name",
"Version",
"Authors",
"Main",
"ServerVersion"
],
"additionalProperties": false,
"$defs": {
"AuthorInfo": {
"type": "object",
"properties": {
"Name": {
"type": "string"
},
"Email": {
"type": "string",
"format": "email"
},
"Url": {
"type": "string",
"format": "uri"
}
},
"required": [
"Name"
],
"additionalProperties": false
},
"DependencyInfo": {
"type": "object",
"properties": {
"^[A-Za-z0-9_.-]+:[A-Za-z0-9_.-]+$": {
"$ref": "#/$defs/SemverRange"
}
},
"additionalProperties": false
},
"SemverRange": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$"
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment