Content API

The manifest

The fields of mod.json and the rules every manifest must follow.

mods/<folder>/mod.json is strict JSON. The SDK writes it for you, but any tool can.

{
  "api_version": 1,
  "id": "quickstart",
  "name": "Quick Start",
  "version": "1.0.0",
  "description": "A custom dart, bloon and mode.",
  "content": [ ... ]
}

Fields

FieldRequiredRules
api_versionyes1
idyesUnique, lowercase, 1–64 ASCII letters, digits or ._-, starting alphanumeric. Keep it stable between releases.
nameyesNonempty, at most 80 UTF-8 bytes
versionyesAt most 32 bytes
descriptionnoAt most 1024 bytes
contentnoList of content operations (see Content operations)
on_new_sandbox, settingsnoOptional Sandbox starting values (below)

Text metadata can't contain control characters. Duplicate IDs are invalid.

Order and conflicts

Validation

Unknown operations, duplicate IDs, missing or misspelled fields, bloon child cycles and conflicting writes are rejected. Definitions are deserialized before use; an invalid content transaction leaves the base data unchanged and reports its error in the client log.

Limit

A manifest is limited to 64 KiB and 256 operations.

Optional: Sandbox starting values

A mod can also set the cash and lives a new local Sandbox starts with, and let players adjust them from the mod's settings:

"on_new_sandbox": { "starting_cash": 100000 },
"settings": { "starting_cash": { "min": 0, "max": 1000000, "step": 10000 } }

Values are whole numbers (cash 0–1e12, lives 1–1e9); two enabled mods setting the same value conflict.

JSON schema · Format reference on GitHub

Unofficial fan project. Not affiliated with Ninja Kiwi. rusttd6.com