CurseForge · Minecraft mod
SQDCLib
A Lib about dialogue,story,state,and quest
Quick answer
Which SQDCLib release should I use?
sqdclib-2.2.0.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.
Where it goes
Is SQDCLib required on the client, server, or both?
The project page does not say whether this file belongs on the client, dedicated server, or both.
The source does not explicitly classify this release as client-only or server-only.
What else does sqdclib-2.2.0.jar need?
sqdclib-2.2.0.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional mods.
Before you install it
Add SQDCLib without breaking your instance.
Built for sqdclib-2.2.0.jar. Pick another file and the loader, install side or required mods may change.
- 01
Stick to this file
Use sqdclib-2.2.0.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.
- 02
Bring the mods it needs
This file does not list any required mods. Do not add a library just because a different file uses it.
- 03
Put it on the correct side
The project page does not say whether this file belongs on the client, dedicated server, or both.
- 04
Pick the file you checked
Use the “Get this file” button beside sqdclib-2.2.0.jar. It opens that exact file at the source.
About this project
What does SQDCLib add?
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.
Project description from CurseForge.
Pick your setup
SQDCLib by Minecraft version and loader
Choose the version and loader you play, then open the matching release.
Check the dependencies, then try the file in a copied instance before changing a world you care about.
Recent files
SQDCLib versions and loaders
sqdclib-2.2.0.jar
18 Oct 2026
sqdclib-2.1.2.jar
18 Oct 2026
sqdclib-2.1.1.jar
18 Oct 2026
sqdclib-2.1.0.jar
18 Oct 2026
sqdclib-2.0.0.jar
15 Oct 2026
sqdclib-1.0.4.jar
15 Oct 2026
sqdclib-1.0.3.jar
15 Oct 2026
sqdclib-1.0.2.jar
13 Oct 2026
sqdclib-1.0.1.jar
13 Oct 2026
sqdclib-1.0.0.jar
13 Oct 2026
Looking for an older file? The official CurseForge project page is in Resources.