Compatibility
Minecraft: Java Edition
1.21.9–1.21.10
Platforms
Links
Creators
Details
Licensed ARR
Published 6 days ago
Updated 4 days ago
NPC Engine
Interactive NPC system with dialogues for Minecraft 1.21.9+
NPC Engine is a data pack for creating NPCs with a dialogue system, response options, and a cinematic camera.
🎯 Features
NPCs
- Mannequins — NPCs based on
minecraft:mannequinwith custom skins - Other Entities — Villagers, zombies, skeletons, etc.
- Interactivity — Clicking on an NPC starts a dialogue
- Visual Editor — Control via the action bar
Dialogues
- Typewriter Effect — Smooth character-by-character typing
- Choice System — Branching dialogues with multiple answer options
- Navigation — Shift to skip to the next line
- Text Display — Text is displayed above the NPC
Camera
- Cinematic Mode — Automatically zooms in on the NPC
- Positioning — The camera is positioned to the side of the NPC
- Smooth Transitions — Blindness effect at the start/end Dialogue
- Restore — automatically returns the player to their starting position
🚀 Installation
- Place the
npcs-enginefolder in your world'sdatapacks - Run
/reload
📋 Usage
Open the Editor
/function _npsc:open
Editor Controls
- Mouse Wheel — Navigate the menu
- RMB (carrot on a fishing rod) — Select an item
Editor Menu
| Item | Description |
|---|---|
| 📝 Create NPC | Create a new NPC |
| 📋 List | View all NPCs |
| 💬 Dialogues | Dialogue Editor |
| 🎬 Dialogue Test | Run a Dialogue Test |
| ❌ Exit | Close Editor |
Interacting with NPCs
- Click on the NPC to start a dialogue
- Shift — next line
- The dialogue ends automatically after the last line
🔧 API for Developers
Creating an NPC
# Create a mannequin NPC
function npcs:npc/create_player
# Create an NPC entity
function npcs:npc/create_entity
Dialogue Management
# Add a dialogue line
function npcs:dialog/editor/add_line {npc_id:1,text:"Hello, traveler!"}
# Add a choice
function npcs:dialog/editor/add_choice {npc_id:1,text:"Where shall we go?",choices:["North","South"]}
# Start a dialogue programmatically
function npcs:dialog/start_play
Data Storage
- Storage
npcs:data— NPC and dialogue data - Storage
npcs:current_dialog— currently active dialogue
📋 Requirements
- Minecraft: 1.21.9+
- Permissions: Operator for editor commands
🎮 Example: Quest NPC
# 1. Create an NPC
function npcs:npc/create_player
# 2. Add dialogues (npc_id = 1)
function npcs:dialog/editor/add_line {npc_id:1,text:"Greetings, hero!"}
function npcs:dialog/editor/add_line {npc_id:1,text:"I have something for you" task."}
function npcs:dialog/editor/add_choice {npc_id:1,text:"Will you accept it?",choices:["Of course!","Not now"]}
Create living worlds with the NPC Engine! 💬✨



