NarrativeCraft
NarrativeCraft is a Minecraft mod to create your own narrative games in Minecraft. If you don't want to learn a game engine to create stories with branching patterns, this mod does all the work for you.
Tutorial video
Showcase
How does this work
NarrativeCraft works thanks to the amazing open source project Ink, a narrative scripting language to write dialogs and create branching patterns. Text first, logic later.
Features
NarrativeCraft is an all-in-one system, meaning that you have everything by default.
Compatibility with other mods requires installing addons.
- Cutscenes
- Player recording
- Dialogs rendering (on screen or a character speaking)
- Camera angles for character dialog focus
- Interactions with trigger zones and clickable points
- Characters and NPCs
- Full management of your story
- Multiple locales in one world
- Choices
- Saves
- Main screen (new game, continue...)
- Multiplayer
About Multiplayer
NarrativeCraft is singleplayer first, meaning that it is mainly developed for singleplayer. However, multiplayer is supported, but it does not mean co-op, it means that you can play a story, show cutscenes, display characters or NPCs to a single player, so you can create more immersion for your server.
Getting started
If you want to start learning NarrativeCraft, take a look at the documentation; you'll be guided there to start your first story and learn the fundamentals of the mod.
Credits
- ink - Scripting language
- blade-ink-java - Java adaptation of ink
How to Install NarrativeCraft (Mod)
NarrativeCraft by LOUDO is verified for Fabric, Forge, Neoforge across Minecraft versions 1.20.1, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5 (latest release: 2.3.2-forge-1.20.1, file size: 2.2 MB). Follow the steps below to install it safely from ModCraft.tv:
- Click the Download button above and select your Minecraft version (1.20.1, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5) and platform (Fabric, Forge, Neoforge).
- Make sure you have the compatible loader or environment installed for Fabric, Forge, Neoforge.
- Move the downloaded NarrativeCraft file into your Minecraft
.minecraft/modsfolder and launch the game.
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 24d ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 10mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| 11mo ago | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 | ||||
| last yr. | 1 |
### Feature
- Upgraded NeoForge and Fabric loaders version for 26.2
- Sync playbacks interactions state when recording a subscene #46 @awakaxis
### Feature
- Upgraded NeoForge and Fabric loaders version for 26.2
- Sync playbacks interactions state when recording a subscene #46 @awakaxis
### Feature
- Upgraded NeoForge and Fabric loaders version for 26.2
- Sync playbacks interactions state when recording a subscene #46 @awakaxis
### Feature
- Upgraded NeoForge and Fabric loaders version for 26.2
- Sync playbacks interactions state when recording a subscene #46 @awakaxis
### Feature
- Upgraded NeoForge and Fabric loaders version for 26.2
- Sync playbacks interactions state when recording a subscene #46 @awakaxis
### Feature
- Upgraded NeoForge and Fabric loaders version for 26.2
- Sync playbacks interactions state when recording a subscene #46 @awakaxis
### Feature
- Russian translation updated by @ReggiRi #42
### Feature
- Russian translation updated by @ReggiRi #42
### Feature
- Russian translation updated by @ReggiRi #42
### Feature
- Russian translation updated by @ReggiRi #42
### Feature
- Russian translation updated by @ReggiRi #42
### Feature
- Russian translation updated by @ReggiRi #42
### Feature
- Signals (with a bunch of events)
- Timed choice
- Image tag
- Target a character using @/char(name) in the command tag (e.g.
# command "attribute @char(user) minecraft:scale base set 3") - Assign custom nbt to characters
- Render image in dialog
Clara: [img clara/happy] I'm feeling good right now! - Item requirement tag
- Locked choice tag
- Character head bobbing when talking (it's back!)
- Save tag (include last character position)
- Re-use entity already in world close to first position of animation in story
- Pre-compile story
/nc story reload (as_file)- will be loaded in priority when the server/world start - Launch multiple interaction instead of one in the story
- Return player to main screen when finished story (if available)
- Togglable settings to render names of global characters
- Local save file
- Play animation, subscene or cutscene directly to a player using commands
- Error if a tag does not exist
- Shadow flag in text tag when creating a text
- Simplified Chinese and Traditional Chinese lang by @LinLei0102
### Fix
- Cannot interpolate with "add" action in time tag
- Rename interaction not removing old files
- Text ink text tag scale not fixed
### Feature
- Signals (with a bunch of events)
- Timed choice
- Image tag
- Target a character using @/char(name) in the command tag (e.g.
# command "attribute @char(user) minecraft:scale base set 3") - Assign custom nbt to characters
- Render image in dialog
Clara: [img clara/happy] I'm feeling good right now! - Item requirement tag
- Locked choice tag
- Character head bobbing when talking (it's back!)
- Save tag (include last character position)
- Re-use entity already in world close to first position of animation in story
- Pre-compile story
/nc story reload (as_file)- will be loaded in priority when the server/world start - Launch multiple interaction instead of one in the story
- Return player to main screen when finished story (if available)
- Togglable settings to render names of global characters
- Local save file
- Play animation, subscene or cutscene directly to a player using commands
- Error if a tag does not exist
- Shadow flag in text tag when creating a text
- Simplified Chinese and Traditional Chinese lang by @LinLei0102
### Fix
- Cannot interpolate with "add" action in time tag
- Rename interaction not removing old files
- Text ink text tag scale not fixed
### Feature
- Signals (with a bunch of events)
- Timed choice
- Image tag
- Target a character using @/char(name) in the command tag (e.g.
# command "attribute @char(user) minecraft:scale base set 3") - Assign custom nbt to characters
- Render image in dialog
Clara: [img clara/happy] I'm feeling good right now! - Item requirement tag
- Locked choice tag
- Character head bobbing when talking (it's back!)
- Save tag (include last character position)
- Re-use entity already in world close to first position of animation in story
- Pre-compile story
/nc story reload (as_file)- will be loaded in priority when the server/world start - Launch multiple interaction instead of one in the story
- Return player to main screen when finished story (if available)
- Togglable settings to render names of global characters
- Local save file
- Play animation, subscene or cutscene directly to a player using commands
- Error if a tag does not exist
- Shadow flag in text tag when creating a text
- Simplified Chinese and Traditional Chinese lang by @LinLei0102
### Fix
- Cannot interpolate with "add" action in time tag
- Rename interaction not removing old files
- Text ink text tag scale not fixed