Mod Manifest (mod.json)
The manifest defines the identity, configuration, and dependencies of a mod.
Example
Section titled “Example”{ "id": "my-mod", "name": "My Mod", "version": "1.0.0", "entrypoint": "main.js", "preload": false, "enabled": true, "dependencies": [], "requiredAssetPacks": [], "permissions": [], "description": "What this mod does"}Required Fields
Section titled “Required Fields”Optional Fields
Section titled “Optional Fields”enabled
Section titled “enabled”- Type:
boolean - Default:
true - Purpose: Controls whether the mod should be loaded by SimpleScripting
When set to false, the mod is skipped during server startup and will not be loaded. Useful for temporarily disabling a mod without deleting it.
{ "id": "my-mod", "enabled": false}entrypoint
Section titled “entrypoint”- Type:
string - Default:
"main.js" - Purpose: Path to the JavaScript entry file relative to the mod folder
{ "id": "my-mod", "entrypoint": "src/index.js"}preload
Section titled “preload”- Type:
boolean - Default:
false - Purpose: Load this mod earlier when dependency order permits
Preload mods are loaded before non-preload mods when topological ordering allows. Useful for mods that provide APIs to other mods.
{ "id": "api-mod", "preload": true}dependencies
Section titled “dependencies”- Type:
array of strings - Default:
[] - Purpose: List of mod IDs that must be loaded before this mod
Ensures dependency mods are loaded first. The loader automatically orders mods based on their dependencies.
{ "id": "my-mod", "dependencies": ["core-api", "utilities"]}requiredAssetPacks
Section titled “requiredAssetPacks”- Type:
array of strings - Default:
[] - Purpose: Asset packs that must be installed for this mod to function
{ "id": "custom-items-mod", "requiredAssetPacks": ["CustomTextures"]}permissions
Section titled “permissions”- Type:
array of strings - Default:
[] - Purpose: Permission nodes that players need to use this mod’s features
{ "id": "admin-tools", "permissions": ["admin.teleport", "admin.give"]}description
Section titled “description”- Type:
string - Default:
null - Purpose: Brief description of what the mod does
{ "id": "my-mod", "description": "Adds custom commands for server administration"}Validation Rules
Section titled “Validation Rules”A mod is rejected if:
- Required fields are missing
iddoes not match[a-z0-9_-]+versionis not semver-likeentrypointcontains..- Entrypoint file does not exist
- Dependency names are invalid or blank
- The mod depends on itself