UNPKG

endfield-mcp

Version:

MCP Server for Arknights: Endfield (TypeScript / stdio + Streamable HTTP)

39 lines • 1.69 kB
/** * Worldview data types — shared between the lore/wiki reader and its tools. * * Mirrors the in-game PRTS archive system and the in-game encyclopedia as * shipped in `endfield-worldview.zip` (v0.4 mirror). All tables are * `{id: entry}` dicts at the top level — same shape as CharacterTable.json. * * ## Localized text convention * * Every human-readable field is a {@link LocalizedText} (`{id, text}` where * `text` is empty upstream and the real string lives in i18n keyed by `id`). * These resolve through `texts.ts:resolveText()` exactly like character * fields do. * * ## The contentId string-key indirection * * PRTS document/record/multimedia entries carry a `contentId` that is a * **string key** (e.g. `"text_v0d8_10"`), NOT a direct int64 hash. The body * text is resolved through RichContentTable.json, whose entry is a titled * list of content segments: * * `RichContentTable[contentId]` = `{ title: {id, text}, contentList: [{content: {id, text}}, ...] }` * * Each segment's `content.id` is an int64 hash looked up in i18n/CN.json * (shipped in the v0.2.0 tables bundle). `worldviewCore.resolveContent()` * concatenates the resolved segments into the body string. * * This is the one place the worldview domain extends beyond the existing * text pipeline; it lives in `worldviewCore.ts` so it does not leak into * `texts.ts` (which is hash-only by design). * * ## Wiki ↔ Prts cross-link * * `WikiEntryData.prtsId` points into a `PrtsDocument` id — each in-game * encyclopedia entry (monster/item/etc.) has an associated lore document. * `ef_get_wiki_entry` follows this link. */ export {}; //# sourceMappingURL=worldviewTypes.js.map