Bring custom-model NPCs to life.
ModelEngine • BetterModel • MythicMobs
Dialogs • Traders • Pathfinding • Escorts • Animations • States • Schedules • Effects
A complete NPC framework built for RPGs, survival servers and networks.
What is ModeledNPCs?
ModeledNPCs is built for servers that need more than an NPC standing in one place waiting to be clicked.
Create merchants, guards, quest characters, companions, guides, villagers, lobby NPCs and story characters — then give them movement, conversations, animations, schedules, shops, effects and real interaction.
ModeledNPCs has been continuously developed for nearly two years and has grown from a custom-model NPC plugin into a complete framework for building interactive NPC worlds.
Perfect for:
• RPG / MMO servers
• Adventure maps
• Survival servers
• Quest worlds
• Hubs and networks
• Custom gamemodes
Use the Model System You Want
ModelEngine • BetterModel • MythicMobs
You do not need all three.
ModeledNPCs supports multiple NPC/model providers.
Use ModelEngine, BetterModel or MythicMobs depending on your server.
If you are currently using MythicMobs only because you need custom-model NPCs, you do not have to build your entire NPC system around it anymore.
With ModeledNPCs you can run your NPC workflow directly with ModelEngine or BetterModel.
MythicMobs is supported — but it is not required.
That means fewer unnecessary dependencies and much more freedom when building your server.
Everything Your NPCs Need
• Persistent custom-model NPCs
• ModelEngine support
• BetterModel support
• MythicMobs support
• In-game NPC manager
• Patrol routes
• Multiple routes per NPC
• Escort / guide NPCs
• NPC pathfinding
• Branching dialogs
• NPC speech while walking
• Arrival dialogs
• Animation control
• Hover interaction system
• Traders with stock and limits
• Commands on interaction
• Permission-based visibility
• Greetings
• NPC states
• Schedules
• Persistent player flags
• Animated holograms
• Particles, sounds and potion effects
• Smooth AutoLook
• SQLite route storage
• Live reload tools
• Debug tools
• Developer API
Create NPCs Quickly
Code:
/mnpc create
ModeledNPCs keeps track of each NPC using persistent IDs and UUIDs so NPCs can be safely restored after reloads and restarts.
Stored data includes location, rotation, provider, entity identity, commands, names, hologram settings and NPC-specific configuration.
Full In-Game NPC Manager
Manage your NPCs without constantly editing files:
View attachment 977346
Code:
/mnpc manage
From the manager you can handle:
• Names and holograms
• Interaction commands
• Effects
• Animations
• Nametags
• AI routes
• Escort settings
• Movement speed
• Visibility
• Safe NPC deletion
ModeledNPCs also includes an optional NPC Admin Tool.
Staff can simply right-click an NPC with the configured admin item and open its manager.
SqLite Storage
View attachment 920638
Modern Hover Interaction
NPC interaction can feel much more polished than clicking a normal Minecraft hitbox.
When a player aims at an NPC, ModeledNPCs can:
• Slightly scale the model
• Scale the player's hologram
• Play a sound
• Display an action-bar hint
• Allow interaction from farther away
Example:
YAML:
npc:
hover:
enabled: true
range: 10.0
angle_deg: 15.0
scale: 1.2
sound: UI_BUTTON_CLICK
sound_volume: 0.6
sound_pitch: 1.4
scale_hologram: true
hologram_scale: 1.3
hint_text: "&e[Right-Click] &fInteract"
It gives NPC interaction a much more modern RPG feel.
Commands on Interaction
Run complete command chains when players interact with an NPC.
Supported executors:
• player: run as the player
• console: run from console
• sudo: temporary elevated execution
• bungee: send players to another server
Code:
/mnpc addcmd <player|console|sudo|bungee> <command...>
/mnpc removecmd <command...>
Examples:
Code:
/mnpc addcmd console money give %player% 1000
/mnpc addcmd player spawn
/mnpc addcmd bungee minigames
Use NPCs for server selectors, teleporters, menus, rewards, quests, shops and custom systems.
NPC AI, Routes & Pathfinding
This is where ModeledNPCs goes far beyond a normal NPC plugin.
Each NPC can have multiple independent routes.
For example:
Code:
spawn_to_church
spawn_to_mayor
spawn_to_prison
night_patrol
market_route
Routes are stored in SQLite and can be reused for patrols, quests, guides and escorts.
Patrol Mode
NPCs can continuously move through configured route points.
Great for:
• Guards
• Villagers
• Soldiers
• Workers
• Sentries
• Ambient town NPCs
YAML:
npcai:
default-mode: PATROL
default-speed: 0.25
Escort & Guide NPCs
ModeledNPCs can make an NPC physically guide a player through the world.
An escort can:
• Start from a dialog option
• Follow a named route
• Play a walking animation
• Talk while walking
• Run commands on arrival
• Show an arrival dialog
• Change dialog state
• Continue to another destination
• Return automatically after a timeout
Imagine asking an NPC:
"Can you show me the church?"
Instead of giving the player coordinates or teleporting them, the NPC starts walking.
While travelling, the NPC can talk to the player.
When it arrives, its conversation changes.
The player can then say:
"Take me to the mayor."
The same NPC begins another route.
No duplicate NPCs. No fake teleport sequence. One persistent character moving through your world.
Example Escort Dialog
YAML:
Priest_Spawn:
npc: 2
questName: "Priest Escort"
dialog:
Action: DIALOG
Dialog:
- "Hello my friend, how can I help you?"
- "1) Show me the church."
- "2) Show me the mayor."
- "3) Show me the prison."
Options:
"1":
Action: START
Commands:
- "tell {player} Follow me, I'll show you the way."
Patrol:
mode: ESCORT
route-id: "spawn_to_church"
cooldown-seconds: 10
arrival-dialog:
- "Here we are, this is the church."
arrival-tree: "Priest_Church"
arrival-timeout-seconds: 60
arrival-commands:
- "console: tell {player} Father Lucius has arrived."
npctalk:
line1:
- "&eBeautiful day for a walk, {player}."
interval1: 4
line2:
- "&7The church has stood here for centuries."
interval2: 5
The same character can move between the church, mayor's office and prison while keeping its own dialog state.
This is what ModeledNPCs is built for: characters, not decorations.
Branching Dialogs
Build conversations instead of attaching one command to every NPC.
ModeledNPCs supports:
• Per-player dialog sessions
• Multiple choices
• Dialog chaining
• Commands
• Cancel actions
• Quest start actions
• Escort triggers
• Arrival dialogs
• Arrival dialog trees
• NPC speech during routes
• Destination commands
Dialogs can change depending on where the NPC is and what the player has already done.
Animations
Custom models feel much better when animations react to what the NPC is doing.
ModeledNPCs supports animation handling for supported model providers.
Common animation types include:
• Idle / looped
• Interaction
• Walking / escort
• Arrival
Animations can be assigned per NPC and managed from the in-game tools.
Complete Trader System
Turn your NPC into a full merchant.
ModeledNPCs supports simple trading as well as a complete Offers GUI.
Trader features:
• Paginated offers
• Vault money costs
• XP costs
• Item costs
• Item rewards
• Money rewards
• Command rewards
• Stock limits
• Automatic restocking
• Per-player purchase limits
• Timed resets
• Confirmation GUI
• PlaceholderAPI support
The built-in ItemBuilder supports:
• CustomModelData
• Enchantments
• Attributes
• PersistentDataContainer
• Unbreakable items
• Custom lore
Use it for normal shops, limited-stock merchants, progression vendors or rotating RPG shops.
Particles, Sounds & Effects
NPCs can have:
• Looping particles
• Interaction particles
• Potion effects
• Interaction sounds
• Custom particle offsets
Code:
/mnpc addeffect particle <looped|oninteract> [yOffset]
/mnpc addeffect potion [amplifier]
/mnpc effect clear
NPC States, Schedules & Player Flags
ModeledNPCs includes systems for building NPCs that react to your world instead of behaving the same way forever.
States
Use different NPC behavior depending on progression or server logic.
Schedules
Make NPCs available only during configured times.
YAML:
schedules:
enabled: true
npc:
schedule_inactive_message: "&cThis NPC is not available right now."
Player Flags
Store player-specific interaction state.
YAML:
player_flags:
enabled: true
persistent: true
Flags can survive restarts and can be used for progression, dialogs and custom logic.
Greetings & Animated Holograms
NPCs can greet nearby players automatically and use animated hologram text.
Combine this with AutoLook, animations and hover interactions and your NPCs can react naturally when players approach them.
YAML:
greetings:
enabled: true
hologram_animation:
enabled: true
Smooth AutoLook
NPCs can automatically turn toward nearby players.
ModeledNPCs supports packet-based AutoLook through ProtocolLib for smooth rotation.
YAML:
autolook:
mode: PACKET
period-ticks: 2
max-step-degrees: 25.0
max-distance: 100.0
Per-model yaw offsets are also supported for models that use different forward directions.
Permission-Based Visibility
Create NPCs that only certain players can see.
Code:
/mnpc hide
/mnpc hide remove
Useful for:
• Quest progression
• VIP NPCs
• Tutorials
• Events
• Rank-specific content
• Hidden areas
Updates can be applied without restarting the server.
Built for Live Servers
ModeledNPCs includes reload and debugging tools intended for production servers.
Code:
/mnpc reload
/mnpc reloadname
/mnpc reloadeffects
/mnpc debug
Debugging can help detect:
• Orphaned NPC entities
• UUID mismatches
• Broken entity bindings
• Chunk-related issues
• Pathfinding problems
Separate debugging options are available for systems such as escorts, WorldGuard, holograms and serialization.
Storage & Performance
ModeledNPCs separates configuration and runtime data so large NPC setups remain manageable.
Storage includes:
• NPC data
• Names and holograms
• AutoLook data
• Effects
• Animations
• Trader configuration
• Runtime trader data
• Persistent player flags
• SQLite route storage
Server owners can also configure NPC limits and maximum IDs.
YAML:
max_npc_ids: 1000
limit:
adventurerNPC: 3
Main Commands
NPC Management
Code:
/mnpc create
/mnpc remove
/mnpc move
/mnpc tp
/mnpc name [height]
/mnpc list
/mnpc manage
Behavior
Code:
/mnpc look
/mnpc look off
/mnpc static
/mnpc rotate <left|right>
/mnpc hide
AI Routes
Code:
/mnpcai addpoint
/mnpcai addpoint
/mnpcai setroute position
/mnpcai patrol
Animations
Code:
/meganim
Maintenance
Code:
/mnpc reload
/mnpc reloadname
/mnpc reloadeffects
/mnpc debug
For the full command reference and configuration examples, see the documentation.
Dependencies & Integrations
Choose your NPC/model provider:
• ModelEngine
OR
• BetterModel
OR
• MythicMobs
You do not need all three.
ModeledNPCs can also integrate with:
• Vault
• PlaceholderAPI
• ProtocolLib
• WorldGuard
• Quest / dialog systems
Only install the integrations required by the features you actually use.
Developer API
ModeledNPCs also provides a public API for developers building their own systems.
Use it for:
• Custom quests
• RPG systems
• Progression
• Minigames
• Custom menus
• Server-specific NPC logic
Developer Documentation
https://docs.oreo-studio.shop/modellednpcs/developer-api
http://[url='https://docs.oreo-studio.shop/modellednpcs/developer-api[/URL[/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']
XML:
[/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']com.github.el211[/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']ModeledNPCS-API[/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']v7.9.1[/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']provided[/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][/URL][/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']
http://[url='https://docs.oreo-studio.shop/modellednpcs/developer-api[/URL[/URL][/URL][/URL]
[URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL'][URL='http://[url=%27https://docs.oreo-studio.shop/modellednpcs/developer-api%5B/URL']Documentation & Support
Documentation:
https://docs.oreo-studio.shop/modellednpcs
Discord Support:
https://discord.gg/xYeuK9dhfy
http://[url='https://discord.gg/xYeuK9dhfy[/URL[/URL][/URL][/URL]
[URL='http://[url=%27https://discord.gg/xYeuK9dhfy%5B/URL'][URL='http://[url=%27https://discord.gg/xYeuK9dhfy%5B/URL'][URL='http://[url=%27https://discord.gg/xYeuK9dhfy%5B/URL']Developer API:
https://docs.oreo-studio.shop/modellednpcs/developer-api