GUI theme
Scripta's quest book is fully themeable: per-pane backgrounds, colours, sizes and widget styles. Edit it from the GUI theme panel in either editor — every player sees changes the moment you save.
Editing the theme
-
Open the web editor (
/scripta web) or run/questedit. - Select the GUI theme panel.
- Change any field and press Save.
Saving broadcasts the theme to every connected player immediately —
no restart, no rejoin. The theme is stored per world at
serverconfig/scripta_theme.json.
Surface values
Each pane's background is chosen from a small set of named surfaces, or from a texture of your own.
- VANILLA_TRANSLUCENT
- PANEL
- PANEL_INSET
- DARK_PANEL
- BLANK
- image:<texture>
| Value | Effect |
|---|---|
VANILLA_TRANSLUCENT | Minecraft's own translucent panel. |
PANEL | A standard raised panel. |
PANEL_INSET | A recessed panel — reads well for selected tabs. |
DARK_PANEL | A darker flat panel. |
BLANK | No background at all. |
image:<texture> | Draws your own texture. See below. |
Custom background textures
Prefix any texture id with image::
"detail_surface": "image:scripta:web_icons/parchment.png"You can point at a texture from any resource pack, or at a PNG you uploaded through the editor's Icons panel.
Top-level fields
Every field is optional — anything you leave out keeps its default.
| Field | Type | Default | Notes |
|---|---|---|---|
window_surface | surface | VANILLA_TRANSLUCENT | Background behind the whole window. |
tab_surface | surface | PANEL | Category tab strip. |
tab_selected_surface | surface | PANEL_INSET | The active category's tab. |
list_surface | surface | DARK_PANEL | The quest list pane. |
detail_surface | surface | DARK_PANEL | The quest detail pane. |
title_color | colour | 0xFFFFFFFF | Quest and screen titles. |
text_color | colour | 0xFFDDDDDD | Body text. |
accent_color | colour | 0xFF55FFFF | Accent — highlights and focus rings. |
text_shadow | bool | true | Drop shadow behind text. |
tab_size | int | 36 | Category tab size, in pixels. |
quest_icon_size | int | 18 | Quest icon size in the list. |
category_icon_size | int | 24 | Category tab icon size. |
list_width | int | 170 | Width of the quest list pane. |
detail_width | int | 230 | Width of the detail pane. |
widgets | object | see below | Button, field and selection colours. |
Widget colours
The nested widgets object controls interactive elements.
| Field | Default | Applies to |
|---|---|---|
button_bg | 0xFF3C3C46 | Button background. |
button_hover | 0xFF4A4A58 | Button hover. |
button_text | 0xFFFFFFFF | Button label. |
danger_color | 0xFFC04545 | Destructive actions — delete buttons. |
muted_color | 0xFF9A9AA5 | Secondary and dimmed text. |
field_bg | 0xFF121216 | Text field background. |
field_focus | 0xFF55FFFF | Focused field outline. |
selected_bg | 0xFF2B3648 | Selected row or tab. |
Default theme JSON
This is what Scripta uses out of the box. Copy it into
serverconfig/scripta_theme.json and edit from there if you
prefer working with the file directly.
{
"window_surface": "VANILLA_TRANSLUCENT",
"tab_surface": "PANEL",
"tab_selected_surface": "PANEL_INSET",
"list_surface": "DARK_PANEL",
"detail_surface": "DARK_PANEL",
"title_color": 0xFFFFFFFF,
"text_color": 0xFFDDDDDD,
"accent_color": 0xFF55FFFF,
"text_shadow": true,
"tab_size": 36,
"quest_icon_size": 18,
"category_icon_size": 24,
"list_width": 170,
"detail_width": 230,
"widgets": {
"button_bg": 0xFF3C3C46,
"button_hover": 0xFF4A4A58,
"button_text": 0xFFFFFFFF,
"danger_color": 0xFFC04545,
"muted_color": 0xFF9A9AA5,
"field_bg": 0xFF121216,
"field_focus": 0xFF55FFFF,
"selected_bg": 0xFF2B3648
}
}Caveats
PANEL with no error. If a pane looks wrong, re-check the
spelling.
0xFFFFFFFF is written as
-1, and 0xFF55FFFF as -4208001.
Both forms load. Editing through the editor panel avoids the question.