Community listing page, reviews may not be monitored by the author.
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
SQDCLib is a narrative adventure library for Minecraft NeoForge. It does not add new mobs, blocks, or equipment. Instead, it provides four foundational capabilities for adventure mods: state tracking, quest system, dialogue system, and cutscene system. It uses Java 21 and is licensed under MIT.
The hardest part of building an adventure mod is rarely the combat or the map. It is the supporting work that cannot be avoided. Where does a player choice get stored? How does the interface know a quest has advanced? How many times does branching dialogue logic get rewritten? Who schedules a quest completion in the middle of a cutscene? Every new project rewrites the same half-finished framework, and every mod ends up with its own. SQDCLib extracts these four concerns into a single dependency that can be used partially. The four modules are decoupled from each other, and using only one is fully supported.
State layer
Player state and world state are stored separately. Player state syncs automatically to the owner and persists through death. World state is shared across all dimensions and is read-only on the client to prevent accidental modification. A unified query API is provided so condition checks do not need to know whether a flag lives on the player or the world.
Condition expressions
Seven condition types that can be nested. Quest objectives, dialogue options, and cutscene branches share one evaluator. Conditions also run on the client. Player state is synced automatically, and world state has a dedicated mirror packet.
Quest layer
Quests are defined in datapacks with support for main and side quests, prerequisites, visibility conditions, objectives, start actions, and complete actions. Objectives have no completed state. Whether an objective is done is evaluated live from its condition, so conditions and progress cannot drift apart. There are only four states: locked, available, active, and completed.
Dialogue layer
Dialogue is server-authoritative. The client only draws the interface and sends back a selection. Branch options can be filtered by condition, and options that do not meet their condition are never sent to the client, making them impossible to forge. Node actions, automatic jumps, and loop protection are supported. The game does not pause during dialogue, and the player can exit with Esc.
Cutscene layer
Supports keyframe cameras, timeline events, fades, subtitles, letterbox, and movement lock. Time is measured in ticks with multiple easing options, and rotation interpolation takes the shortest path. Camera takeover uses Mixin and may conflict with other mods that modify camera position. Mods that only change angles are unaffected.
Cross-layer composition
Insert a cutscene mid-dialogue, start a dialogue halfway through a cutscene, advance the story phase on quest completion, show an option based on quest progress. All of these are a single action line in a datapack JSON. The four modules connect through StoryBridge callbacks. The state layer does not depend on the layers above it, and actions are no-ops when the corresponding module is absent, so nothing breaks.
Integration
SQDCLib has no third-party content mod dependencies and uses only official NeoForge APIs. Three sample datapacks and debug commands are included for smoke testing. It is aimed at developers building NeoForge narrative adventure mods, RPG mods, quest mods, or story mods. Using only the state layer is also fully supported.
After building you get the sqdclib jar. Place it in libs and declare the dependency in your own mod. See the repository for exact integration steps. The repository is on GitHub at mornfire/sqdclib. A JDK compatible with the target NeoForge version is required.
The hardest part of an adventure mod is rarely the gameplay. It is the supporting work that cannot be avoided. SQDCLib collects that work into one dependency so developers can focus on content.
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