Stat Test Page
This is a test.
"meta": "Medium undead, lawful evil",
"hitPoints": "67 (9d8 + 27)",
"speed": "30 ft.",
"abilities": {
"STR": "16 (+3)",
"DEX": "12 (+1)",
"CON": "16 (+3)",
"INT": "11 (+0)",
"WIS": "14 (+2)",
"CHA": "15 (+2)"
},
"properties": [
{ "label": "Skills", "value": "Perception +4, Stealth +3" },
{ "label": "Damage Resistances", "value": "necrotic; bludgeoning, piercing, and slashing from nonmagical attacks" },
{ "label": "Senses", "value": "darkvision 60 ft., passive Perception 14" },
{ "label": "Languages", "value": "Common plus one language it knew in life" },
{ "label": "Challenge", "value": "4 (1,100 XP)" }
],
"sections": [
{
"title": "Actions",
"features": [
{
"name": "
"text": "Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 8 (1d10 + 3) slashing damage plus 7 (2d6) necrotic damage."
}
]
}
]
}
</div>
```
##
Use `grid: true` and a `monsters` array.
```html
<div class="dnd-statblock-data">
{
"grid": true,
"monsters": [
{
"name": "AncientAsh RedRat",
Dragon" "meta": "Tiny beast, unaligned",
"size"armorClass": "gargantuan"12",
"type"hitPoints": "Dragon","tag":"7 (2d4 + 2)",
"alignment"speed": "30 ft.",
"abilities": {
"STR": "4 (-3)",
"DEX": "14 (+2)",
"CON": "12 (+1)",
"INT": "2 (-4)",
"WIS": "10 (+0)",
"CHA": "4 (-3)"
},
"properties": [
{ "label": "Senses", "value": "darkvision 30 ft., passive Perception 10" },
{ "label": "Challenge", "value": "1/8 (25 XP)" }
],
"sections": [
{
"title": "Actions",
"features": [
{
"name": "Bite",
"text": "Melee Weapon Attack: +4 to hit, reach 5 ft., one target. Hit: 4 (1d4 + 2) piercing damage."
}
]
}
]
},
{
"name": "Cinder Imp",
"meta": "Tiny fiend, chaotic evil",
"hitDice"armorClass": "28"13",
"armorName"hitPoints": "natural armor","shieldBonus":0,"natArmorBonus":12,"otherArmorDesc":"2210 (natural3d4 armor)+ 3)",
"speed": "40","burrowSpeed":"0","climbSpeed":"40","flySpeed":"80","hover":false,"swimSpeed":"0","customHP":false,"customSpeed":false,"hpText":"546 (28d20 + 252)","speedDesc":"40 ft., climb 4020 ft., fly 8030 ft.",
"strPoints"abilities": {
"30",STR": "dexPoints":"10","conPoints":"29","intPoints":"18","wisPoints":"15","chaPoints":"23","blindsight":"60","blind":false,"darkvision":"120","tremorsense":"0","truesight":"0","telepathy":0,"cr":"24","customCr":"246 (62,000-2)",
"DEX": "16 (+3)",
"CON": "12 (+1)",
"INT": "10 (+0)",
"WIS": "11 (+0)",
"CHA": "13 (+1)"
},
"properties": [
{ "label": "Damage Immunities", "value": "fire" },
{ "label": "Senses", "value": "darkvision 60 ft., passive Perception 10" },
{ "label": "Challenge", "value": "1/2 (100 XP)" }
],
"customProf"sections":7, [
{
"isLegendary"title":true, "legendariesDescription"Actions",
"features": [
{
"Thename": dragon"Spark canClaw",
take "text": "Melee Weapon Attack: +5 to hit, reach 5 ft., one target. Hit: 5 (1d4 + 3) slashing damage plus 3 legendary(1d6) actions,fire choosingdamage."
from }
]
}
]
}
]
}
</div>
```
## Supported Wrapper Attributes
| Attribute | Values | Purpose |
|---|---|---|
| `data-layout` | `one-column`, `two-column`, `wide`, `full` | Changes statblock width/columns. |
| `data-compact` | `true` | Slightly tightens long blocks. |
| `data-copy-buttons` | `true` | Adds copy buttons for attacks, DCs, and dice. |
| `data-copy` | `true` | Alias for `data-copy-buttons="true"`. |
| `data-show-source` | `true` | Adds a collapsed original-source/debug block. |
| `data-source` | `true` | Alias for `data-show-source="true"`. |
| `data-source-label` | Any text | Changes the optionssource below.disclosure Onlylabel. one|
## actionTetra-cube optionToken canSupport
The usedrenderer atresolves acommon timeTetra-cube bracket tokens:
| Token | Meaning |
|---|---|
| `[MON]` | Short monster name. |
| `[MONS]` | Plural monster name. |
| `[STR]`, `[DEX + 2]` | Ability modifier, optionally adjusted. |
| `[STR ATK]`, `[DEX ATK - 1]` | Ability modifier plus proficiency. |
| `[WIS SAVE]`, `[CHA SAVE + 2]` | Save DC using 8 + ability modifier + proficiency. |
| `[STR 2D6]`, `[DEX 1D8 + 2]` | Average dice damage plus ability modifier. |
| `[3D6]`, `[2D10 + 4]` | Plain dice average and onlydisplay atformula. the|
Example:
```json
{
another creature's turn. The dragon regains spent legendary actions at the start of its turn.","isLair":false,"lairDescription":"When fighting inside its lair, the ancient red dragon can invoke the ambient magic to take lair actions. On initiative count 20 (losing initiative ties), the ancient red dragon can take one lair action to cause one of the following effects:","lairDescriptionEnd":"The ancient red dragon can't repeat an effect until they have all been used, and it can't use the same effect two rounds in a row.","isMythic":false,"mythicDescription":"If the ancient red dragon's mythic trait is active, it can use the options below as legendary actions for 1 hour after using {Some Ability}.","isRegional":false,"regionalDescription":"The region containing the ancient red dragon's lair is warped by the creature's presence, which creates one or more of the following effects:","regionalDescriptionEnd":"If the ancient red dragon dies, the first two effects fade over the course of 3d10 days.","properties":[],"abilities":[{"name": "LegendaryBite",
Resistance (3/Day)","desc":"If the dragon fails a saving throw, it can choose to succeed instead."}],"actions":[{"name":"Multiattack","desc":"The dragon can use its Frightful Presence. It then makes three attacks: one with its bite and two with its claws."},{"name":"Bite","desc":"_Melee Weapon Attack:_ +17[STR to hit, reach 15 ft., one target. _Hit:_ 21 (2d10 + 10) piercing damage plus 14 (4d6) fire damage."},{"name":"Claw","desc":"_Melee Weapon Attack:_ +17ATK] to hit, reach 10 ft., one target. _Hit:_ 17[STR (2d62D10] + 10) slashingpiercing damage."
},{"name":"Tail","desc":"_Melee
```
## Attack:_Troubleshooting
### toThe hit,raw reachJSON 20appears ft.,on the page
The renderer CSS/JS is probably not installed in BookStack custom head content, or the wrapper class is wrong.
Check that you used one target.of _Hit:_these:
```html
<template (2d8class="dnd-monster-data">
...
</template>
```
```html
<div 10)class="dnd-monster-data">
...
</div>
```
```html
<div damage.class="},{"name":"Frightfuldnd-statblock-data">
...
</div>
```
### creatureBookStack ofwill not save the dragon'swrapper
Use thatsource/HTML ismode. withinIf 120BookStack feetstrips of`<template>`, use the dragon`<div>` andwrapper.
### ofThe itpage mustshows succeed on a DC 21 Wisdom saving throw or become frightened for 1 minute. A creature can repeat the saving throw at the`Unexpected end of eachJSON ofinput`
The turns,pasted endingJSON is incomplete. Check for a missing closing `}` or `]`.
### The block is too wide
Use:
```html
data-layout="one-column"
```
### The block is too long
Try:
```html
data-layout="two-column"
```
or:
```html
data-compact="true"
```
## Best Default Snippet
Use this for most Tetra-cube `.monster` files:
```html
<template
class="dnd-monster-data"
data-copy-buttons="true"
data-show-source="true"
data-source-label="Original .monster JSON">
{
"...": "paste the effectfull on.monster itselfJSON onhere"
}
</template>
```
If aBookStack creature'sremoves saving`<template>`, throwuse isthis successfulinstead:
```html
<div
class="dnd-monster-data"
data-copy-buttons="true"
data-show-source="true"
data-source-label="Original .monster JSON">
{
"...": "paste the effectfull ends.monster forJSON it, the creature is immune to the dragon's Frightful Presence for the next 24 hours."here"
},{"name":"Fire Breath (Recharge 5-6)","desc":"The dragon exhales fire in a 90-foot cone. Each creature in that area must make a DC 24 Dexterity saving throw, taking 91 (26d6) fire damage on a failed save, or half as much damage on a successful one."}],"bonusActions":[],"reactions":[],"legendaries":[{"name":"Detect","desc":"The dragon makes a Wisdom (Perception) check."},{"name":"Tail Attack","desc":"The dragon makes a tail attack."},{"name":"Wing Attack (Costs 2 Actions)","desc":"The dragon beats its wings. Each creature within 15 ft. of the dragon must succeed on a DC 25 Dexterity saving throw or take 17 (2d6 + 10) bludgeoning damage and be knocked prone. The dragon can then fly up to half its flying speed."}],"mythics":[],"lairs":[],"regionals":[],"sthrows":[{"name":"dex","order":1},{"name":"con","order":2},{"name":"wis","order":4},{"name":"cha","order":5}],"skills":[{"name":"perception","stat":"wis","note":" (ex)"},{"name":"stealth","stat":"dex"}],"damagetypes":[{"name":"fire","note":" (Immune)","type":"i"}],"specialdamage":[],"conditions":[],"languages":[{"name":"Common","speaks":true},{"name":"Draconic","speaks":true}],"understandsBut":"","shortName":"","pluralName":"","doubleColumns":true,"separationPoint":3,"damage":[]}
</div>
```