SQDCLib

A Lib about dialogue,story,state,and quest

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.

SQDCLib Team

profile avatar
  • 2
    Projects
  • 44
    Downloads

More from mornfire

  • Ymondf project image

    Ymondf

    A narrative adventure mod for NeoForge about a dossier that records your own playthrough.

    • 12
    • October 15, 2026
  • Ymondf project image

    Ymondf

    A narrative adventure mod for NeoForge about a dossier that records your own playthrough.

    • 12
    • October 15, 2026