Compatibility
Minecraft: Java Edition
1.20.1
Platforms
Supported environments
Client and server
Links
Tags
Creators
Details
Licensed MIT
Published 2 months ago
InteractEntity
Turn any mob into a fully scripted NPC. Branching dialogues, quests, conditional choices and story chains — all through simple JSON files. No Java required.
✨ Features
- 💬 Branching dialogues with options and visibility conditions
- 📜 Quest system with HUD tracker and journal (
Jto open) - 🔗 Multi-NPC story chains — one NPC's actions trigger another
- 🎭 19 conditions: items (incl. NBT/modded), health, hunger, time, weather, biome, dimension, kills, variables, reputation, advancements, visited nodes…
- ⚡ 28 actions: give/remove items, run commands, teleport, particles, sounds, camera shake, effects, quests, reputation, variables, emotes…
- 🧙 Auto-spawn — NPCs appear on world join, after a dialogue, or when a player enters an area
- 🎨 Dynamic skin loader — drop custom
.pngskins (or player skins) straight intoconfig/interactentity/skins/, no rebuilds. Custom avatars, backgrounds and color codes (&a, hex&#FF6600) - 🌐 Multiplayer-ready — shared progress across the server (global scope)
📦 Quick start
- Drop the
.jarintomods/ - Launch — the folder
config/interactentity/dialogues/is created - Add a JSON file describing the dialogue:
{
"target": { "name": "Old Zombie", "tag": "old_zombie" },
"entry": "start",
"nodes": {
"start": { "text": "&fHello, traveler...", "next": "end" },
"end": { "text": "&7*The zombie falls silent*" }
}
}
/dialogue reload, then spawn the mob and right-click it:
/summon zombie ~ ~ ~ {CustomName:'"Old Zombie"',CustomNameVisible:1b,Tags:["old_zombie"]}
Tip: add a
summonblock to the JSON and you can use/npc spawn old_zombieinstead.
📚 Full documentation
All 28 actions, 19 conditions, examples, GUI customization, multi-NPC story chains — in the full README on GitHub (English + Русский).
🛠️ Requirements
- Minecraft 1.20.1 + Forge
- GeckoLib (mandatory dependency!)
- Client + Server (mod must be on both sides)
🇷🇺 Русский
Превратите любого моба в полноценного NPC. Ветвящиеся диалоги, квесты, условия и цепочки сюжетов — всё через простые JSON-файлы. Без Java и плагинов.
✨ Возможности
- 💬 Ветвящиеся диалоги с вариантами ответа и условиями видимости кнопок
- 📜 Система квестов — HUD-трекер и журнал (
Jчтобы открыть) - 🔗 Цепочки NPC — действия одного запускают другого
- 🎭 19 условий: предметы (в т.ч. NBT/модовые), здоровье, голод, время, погода, биом, измерение, убийства, переменные, репутация, достижения, посещённые узлы…
- ⚡ 28 действий: выдать/забрать предмет, команда, телепорт, частицы, звук, тряска камеры, эффекты, квесты, репутация, переменные, эмоции…
- 🧙 Автоспавн — NPC появляется при заходе в мир, после диалога или при входе в зону
- 🎨 Загрузчик динамических скинов — кидайте
.png(или скины игроков) прямо вconfig/interactentity/skins/, без пересборки. Кастомные аватары, фоны и цветовые коды (&a, hex&#FF6600) - 🌐 Мультиплеер — общий прогресс на сервере (scope global)
📦 Быстрый старт
- Кинь
.jarвmods/ - Запусти — создастся папка
config/interactentity/dialogues/ - Добавь JSON-файл с диалогом:
{
"target": { "name": "Старый Зомби", "tag": "old_zombie" },
"entry": "start",
"nodes": {
"start": { "text": "&fПривет, путник...", "next": "end" },
"end": { "text": "&7*Зомби замолкает*" }
}
}
/dialogue reload, заспавни моба и кликни ПКМ:
/summon zombie ~ ~ ~ {CustomName:'"Старый Зомби"',CustomNameVisible:1b,Tags:["old_zombie"]}
Совет: добавь блок
summonв JSON — тогда можно/npc spawn old_zombie.
📚 Полная документация
Все 28 действий, 19 условий, примеры, кастомизация GUI, сюжетные цепочки NPC — в полном README на GitHub (English + Русский).
🛠️ Требования
- Minecraft 1.20.1 + Forge
- GeckoLib (обязательная зависимость!)
- Клиент + Сервер (мод нужен с обеих сторон)


