Custom Table Schema
Plain English
No programming needed. This page lists field names used by imports/exports and by power users who maintain JSON directly.
Meaning Table (v3)
Required keys
id(snake_case string)schemaVersion= 3tableType= “meaning-table”rangeStart(int),rangeEnd(int)categoryId(kebab‑case string)displayName(string)entries(array)
Optional table fields
description,descriptionTranslations,displayNameTranslationsdefaultLanguage(string, e.g.,"en")isBuiltIn,isUserCreated(booleans)source(string),tags(array of strings)tableRollOn(array of table/list targets)data(object for extensions)dice(legacy; ignored by current app)
Entry fields
range[start, end] (required)result(string, required)- Optional:
description, translations,tags,entryRollOn,disabled,data,weight(present in schema, not used by the app yet)
Validation rules
- Entries must cover
[rangeStart..rangeEnd]exactly once; no gaps/overlaps - Disabled entries (or entries with
[0,0]) are ignored for coverage
Minimal JSON
{
"id": "action_basics",
"schemaVersion": 3,
"tableType": "meaning-table",
"rangeStart": 1,
"rangeEnd": 10,
"categoryId": "actions",
"displayName": "Action Basics",
"entries": [
{ "range": [1, 5], "result": "Common" },
{ "range": [6, 10], "result": "Uncommon" }
]
}
Event Focus Table (v3)
Required keys
id,schemaVersion= 3tableType= “event-focus”rangeStart,rangeEndcategoryId= “event-focus”displayName,entries
Optional table fields
displayNameTranslations,description,descriptionTranslationsdefaultLanguage,isBuiltIn,isUserCreated,source,tags,tableRollOn,data
Entry fields
range[start, end],result- Optional:
description, translations,tags,entryRollOn,action,additionalRolls,disabled,data,weight(present in schema, not used yet)
Minimal JSON
{
"id": "event_focus_core",
"schemaVersion": 3,
"tableType": "event-focus",
"rangeStart": 1,
"rangeEnd": 100,
"categoryId": "event-focus",
"displayName": "Event Focus",
"entries": [
{ "range": [1, 10], "result": "Remote Event" },
{ "range": [11, 20], "result": "NPC Action" }
]
}
Downloads
See the Downloads section at the bottom of this page for schema files. Templates/Samples are listed on “Getting Started with Custom Tables”.
Note: Weighted tables appear in schema for future compatibility, but the app does not use weights yet.
Related
- Getting started and best practices: “Getting Started with Custom Tables”, “Organizing Custom Tables”
- File formats and Foundry mapping: “Importing & Exporting Custom Tables”