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 (
J to 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
.png skins (or player skins) straight into config/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
.jar into mods/
- 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 summon block to the JSON and you can use /npc spawn old_zombie instead.
📚 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 (обязательная зависимость!)
- Клиент + Сервер (мод нужен с обеих сторон)