Boundless is a data-driven questing mod for NeoForge with:
- an in-game quest book UI
- an operator-only in-game quest pack editor
- runtime settings UI
- command-based quest and questpack management
This README reflects the current implementation in src/main.
- Quest Book item and keybind (
[by default) - Inventory quest button (can be disabled)
- Category/sub-category quest browsing
- Quest search
- Filters (completed/rejected/locked)
- Quest details panel with progress visualization for:
- collect/submit
- kill
- effects
- advancements
- stats
- xp / levelup
- text input objectives
- Optional quest rejection flow
- Repeatable quest restart flow
- Optional quest pinning HUD
- Optional quest completion scroll support
Operators (permission level 2) can access:
- Quest Settings screen
- Quest Editor screen
/boundlesscommands
Questpacks are managed from:
config/boundless/questpacks/
Pack metadata uses pack.mcmeta (boundless.enabled, optional boundless.icon_path).
When a questpack is enabled/disabled from the editor UI, Boundless now runs:
/boundless reload
automatically in the background so changes apply immediately.
QuestEditorScreen supports:
- Create/import questpacks
- Pack options editing
- Category editing
- Sub-category editing
- Quest editing
- Duplicate/delete/reorder entries
- Entry-type selectors for completion/reward rows
- Item/effect/entity/id suggestion helpers
- Dependency lock behavior controls
- Export pack zip
- Pack name is editable.
- Namespace is auto-generated from pack name (invalid chars normalized).
- Pack icon id is editable (used for pack row icon display).
- On namespace changes, data folder namespace migration is handled.
QuestSettingsScreen currently exposes grouped settings for:
- UI
- Functionality
- Gameplay
Includes controls for filter display mode, category visibility behavior, questbook visibility, pinning, auto-claim, quest scrolls, search box, toasts, and related options.
Root command:
/boundless
Key subcommands include:
- reload
- reset / complete / redeem (single or all, with targets)
- questpack list/enable/disable
- toasts enable/disable/status
Use /boundless reload after external datapack/quest file edits.
Boundless quest content is JSON-driven with:
- categories
- sub-categories
- quests
Quest completion target types currently include:
itemsubmitentityeffectadvancementstatxplevelup_levelfield
Reward types currently include:
- items
- commands
- functions
- loot tables
- xp/levels/levelup xp
- Server state is authoritative in multiplayer.
- Player quest status/progress syncs through Boundless networking.
- Client-side UI mirrors synced state.
Boundless uses translation keys for user-facing UI text.
Default English strings are in:
src/main/resources/assets/boundless/lang/en_us.json
- For fast iteration, use questpack toggles in editor or run
/boundless reload. - Test both singleplayer and dedicated server behavior for new quest content.