Pular para o conteúdo

O manifesto

O manifesto diz ao RPG Desk o que o plugin é. Ele vai:

  • num arquivo .html único, dentro do <head>: <script type="application/rpgdesk+json" id="rpgdesk-manifest">{ … }</script>;
  • num pacote .zip, no arquivo manifest.json, na raiz.

Ele é JSON: aspas duplas, sem comentários e sem vírgula depois do último item. O JSON Schema, para o editor ajudar, está em https://docs.rpgdesk.com/_sdk/1/manifest.schema.json (use em "$schema").

{
"rpgdesk": 1,
"id": "com.seunome.sistema",
"name": { "pt": "Meu Sistema", "en": "My System" },
"version": "1.2.0",
"author": "Seu nome",
"description": "Ficha e tabela de NPCs do Meu Sistema.",
"sdk": 1,
"icon": "icone.svg",
"sheets": [
{ "type": "com.seunome.sistema.ficha", "title": "Personagem", "entry": "ficha.html", "private": { "mestre": "gm" } }
],
"tables": [
{ "type": "com.seunome.sistema.npcs", "title": "NPCs", "entry": "npcs.html" }
],
"webhooks": [
{ "name": "rolagens", "description": "Cada rolagem da ficha", "example": { "total": 17 } }
]
}
Campo Obrigatório O que é
rpgdesk sim a versão do formato do manifesto: 1
id sim o identificador do plugin: minúsculas, números, ., - e _, começando por letra ou número (até 120). Use um domínio invertido: com.seunome.sistema
name sim o nome do plugin (até 120), num texto ou por língua (veja abaixo)
version sim maior.menor.correção, como 1.0.0. Suba a cada mudança
sdk sim a versão maior do rpgdesk.js: 1
author não quem fez (até 120)
description não o que o plugin traz (até 1000). Aparece na instalação e na lista de plugins
sheets um dos dois as fichas (veja abaixo)
tables um dos dois as tabelas da sala (veja abaixo)
webhooks não os webhooks que o plugin usa (veja abaixo)
icon não um .png ou .svg do pacote
$schema não o endereço do JSON Schema, para o editor

Um campo que o RPG Desk não conhece gera um aviso, e é ignorado.

sheets e tables são listas. Cada item:

Campo O que é
type o tipo de dado da ficha ou tabela: começa com o id do plugin e um ponto (com.seunome.sistema.ficha), com os mesmos caracteres do id (até 120). Não mude depois de publicar
title o nome que aparece em Nova ficha… ou na aba da tabela (até 120), num texto ou por língua
entry só no pacote: o HTML da ficha ou tabela, dentro do pacote (ficha.html). No arquivo único, a entrada é o próprio arquivo
private só nas fichas: as partes privadas, { "caminho": "gm" | "owner" }. Veja Partes privadas
  • O plugin precisa de pelo menos uma ficha ou tabela, e tem no máximo 20.
  • Um arquivo .html único traz uma ficha ou uma tabela.
  • Cada type aparece uma vez.

webhooks é uma lista (até 20). Cada item:

Campo O que é
name o nome que a página usa em RPGDesk.webhooks.send(nome, dados): minúsculas, números, - e _ (até 40)
description o que o webhook manda, para o mestre (até 300)
example opcional: um exemplo dos dados, até 4 KB em JSON

Veja Webhooks na ficha.

name e title aceitam um texto por língua:

"name": { "pt": "Ficha Básica do RPG Desk", "en": "RPG Desk Basic Sheet" }

Cada pessoa vê o da língua do RPG Desk dela; sem o dela, vale o português, depois o inglês, depois o primeiro. As chaves são códigos de língua: pt, en, pt-BR.