Community listing page, reviews may not be monitored by the author.
Scripta
No reviews yet
Scripta is a Fabric/NeoForge mod that provides customizable quests, reward tables, progression tracking, and a shared in-game/web editor for managing them.
Community voices
Reviews
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
Scripta (Fabric, Architectury + OwoLib)
Global, data-driven questing mod for Minecraft 1.21.1, currently shipping on Fabric. Only three starter categories ship by default — quests are authored by you (hand-written JSON or the web).
Authoring quests
- Category:
id,display_name,icon {id, count},sort_order,number - Quest:
id,category,title,description,icon,objectives[],rewards[],prerequisites[],auto_claim(defaulttrue) - Objective
type:break_block|kill_entity|collect_item|grant_advancement|reach_stat(custom stats only, e.g.minecraft:jump)
Rewards (FTB Quests style)
Each reward is { "type": ..., ... }. Types:
| Type | Fields | Notes |
|---|---|---|
item |
item, amount |
Overflow stacks drop at your feet |
xp |
amount |
Legacy experience alias still loads |
xp_levels |
levels |
|
command |
command |
Runs as the player |
advancement |
id |
Awards every criterion |
toast |
message |
Client-side toast |
choice |
table or inline options[], count |
Interactive — picked in the quest book |
random |
table |
Weighted roll from a reward table |
all_table |
table |
Grants every entry |
loot_crate |
table |
Gives a physical crate item (right-click rolls) |
empty |
— | Placeholder (table padding) |
- Reward tables are weighted pools:
{id, name, entries:[{reward, weight}], crate:{enabled, name}}. Edit them in the web editor's Reward tables panel; quests reference them by id. Achoicereward inside a table is refused — choices live on quests directly. - Auto-claim (
auto_claim, default true): non-interactive rewards are granted the moment the quest completes. Turn it off (or usechoicerewards) to require Claim / Choose buttons in the quest book. Claim state is stored per player and synced. - Unknown reward types and legacy JSON round-trip instead of failing the quest; one bad entry in a rewards array is skipped, not fatal.
- Reload with
/reload; definitions sync to clients on join and via tick broadcast.
Playing
/quests(client command) orGkeybind opens the quest book: categories tab, quest list (name + icon), detail overview/questeditopens the full in-game editor (op level 2 enforced server-side): quests, categories, reward tables, presets, and theme controls share the same save/cancel flow as the web editor. Icon upload remains web-only.- Web editor: when any world/server runs, operators receive a clickable
link on join;
/scripta websends the link again on demand. Edit quests, categories, reward tables, presets, theme, and upload PNG icons from the browser — changes apply instantly and sync to every player. Port override:-Dscripta.webport=<port>. The token is a fresh random value on every server start and is only delivered in chat to operator level 2 players (on join and via/scripta web) — it is never written to the server log, so keep the link secret.- Editor layout: sidebar sections for Quests, Categories, Reward tables, Presets, Icons, and GUI theme. A dirty-state bar keeps Save/Discard actions visible while editing.
- Structured objectives: each objective has a type dropdown, target autocomplete, and count field; targets autocomplete from the live item, block, entity, and advancement registries.
- Prerequisite chips: add or remove prerequisite quest IDs without editing a comma-separated string.
- Structured rewards and table entries: reward types come from the server registry, reward tables expose weighted structured entries, and inline/unknown rewards remain editable as raw JSON.
- Quest categories are a dropdown — pick one, don't type IDs.
- Numbered categories (set a number on the category) give hierarchical
quest IDs: category 1's quests become
1.1,1.2, … (use the Auto button or leave the ID free-form; unnumbered categories keep classic IDs). - Structured reward builder with server-provided type metadata; inline
choiceoptions and unknown future types remain editable as raw JSON. - Reward tables panel: create/edit/delete weighted tables and toggle their loot-crate mode.
- Reward presets (Starter Kit, Monster Hunter, Treasure + your own): insert one into any quest with a click, manage them in their own panel.
- Quest icons are either a block/item (
"icon": {"id": "...", "count": 1}) or a texture path ("icon": "scripta:web_icons/dragon.png") from a resource pack or a web-uploaded PNG (auto-synced to clients). /scripta listshows all quests with your completion state/scripta web(operator level 2) sends the clickable web-editor link in chat; operators also receive it automatically on join/scripta syncre-syncs your progress + definitions/scripta reset [<player>]clears progress (op level 2)- Completing a quest sends a chat message + level-up sound; item rewards that don't fit are dropped at your feet instead of voided. Auto-claimed rewards are granted immediately; manual-claim / choice rewards show Claim, Choose (picker screen) and Claim All buttons in the quest detail.
- Progress persists per player via
SavedData(scripta_progress); only progress is per-world, quests are global. - Removing a quest JSON prunes it from everyone's completed list on the next tick.
- GUI theme (web console → GUI theme): per-pane surfaces (
PANEL,DARK_PANEL,PANEL_INSET,VANILLA_TRANSLUCENT,BLANK, orimage:<texture>backgrounds), title/text/accent colors, text shadow, tab + icon sizes, pane widths, and widget colors for buttons, fields, selection, muted text, focus, and danger states. Stored per-world (serverconfig/scripta_theme.json), applied to every player's screens the moment you save. Fonts are intentionally excluded — owo renders labels with Minecraft's global fonts, which only resource packs can change.
Credits
Help
Screenshots
Gallery
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Get it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources