
- Ссылка на материал, который нужно слить
- https://www.spigotmc.org/resources/modelednpcs-ultimate-npc-plugin-for-mythicmobs-modelengine-quests-dialogues-traders-more.121287/
Native Major MC Version:1.20Tested Major MC Versions:
ModeledNPCs – Advanced NPC Management for MythicMobs & ModelEngine
Transform your Minecraft world into a dynamic, interactive universe with ModeledNPCs—a complete NPC system that brings your custom entities to life. Whether you're building an immersive RPG, a quest-driven adventure, or a lively marketplace, this plugin gives you everything you need to create stunning, intelligent, and fully customizable NPCs.

Core Highlights
Trigger any command when players interact with NPCs:
Code (YAML):
npcs:
'0':
name: guardred
type: modelengine
commands:
- 'player: spawn'
autoLook: true
customDisplayName: elias
internalUUID: eeee23aa-4655-4fea-ae7c-fc301995f591
entityUUID: f8434a5e-720e-46d2-82ad-a2e760973cd2
location:
world: void
x: 668.4004370430782
y: 114.5
z: -481.95376398341114
yaw: 1.4
pitch: 3.75
'1':
name: guardred
type: modelengine
commands: []
autoLook: true
customDisplayName: eliasas
internalUUID: 61bbfbc4-49ca-49b3-abab-6c39d86e2d4b
entityUUID: b2f36557-0dd6-4eac-a5a1-bf2b9cda4d4d
location:
world: void
x: 667.4445800541569
y: 113.0
z: -479.03800417818377
yaw: -178.44878
pitch: -5.549968
'2':
name: adventurerNPC
type: mythicmobs
commands: []
autoLook: false
internalUUID: d06aef99-88c8-480e-ab93-3bce0996a808
entityUUID: 60cac161-9c96-443c-8daa-21ad2f479827
location:
world: void
x: 669.765871198872
y: 109.0
z: -469.3264074342184
yaw: 10.100135
pitch: 10.650009
'3':
name: adventurerNPC
type: mythicmobs
commands:
- 'player: spawn'
autoLook: false
internalUUID: e64d6b03-d235-4424-b9f8-8c15ca713474
entityUUID: a400da95-fe63-4140-a686-ffe2e93ebeb4
location:
world: void
x: 668.9977608912066
y: 109.0
z: -463.4940848081191
yaw: -173.79921
pitch: 2.2500105
'4':
name: archerNPC
type: mythicmobs
commands: []
autoLook: false
customDisplayName: sdffds
internalUUID: 3eec175b-f8da-4c11-9d6c-d34aebbb74b9
entityUUID: 2ee3deef-b848-45b2-8512-aedc40c905e8
location:
world: void
x: 667.8815271551339
y: 115.0
z: -483.44825838702076
yaw: 1.25
pitch: 3.9
'5':
name: archer
type: modelengine
commands: []
autoLook: true
customDisplayName: asdsa
internalUUID: 2c978b2e-160e-44bd-9228-cd14b07d6963
entityUUID: 694cbabe-cdfe-465e-81d6-a03f750aa90d
location:
world: void
x: 666.4484577368393
y: 112.0
z: -475.7628949632364
yaw: -21.399813
pitch: -0.6000005
'6':
name: quest_graywizard
type: modelengine
commands:
- 'player: enchanter'
autoLook: true
internalUUID: e0da7486-fd52-43ea-84c1-a4dbc4c4b21c
entityUUID: 1b1d0741-b527-40b4-9f84-ab8cea6a23b0
location:
world: void
x: 671.5105520189101
y: 109.0
z: -456.71635729297503
yaw: 75.32529
pitch: -19.94992
️Powerful Trader System
Create complex traders in trader.yml:
Plug into top quest systems:
Code (YAML):
CatchFishDialog:
npc: 1
yHeight: 20
questName: "Catch Fish"
displayName:
- "&b&lCatch Fish"
- "%dialogstatus_<Catch Fish>_status%"
dialog:
Action: DIALOG
Dialog:
- "Welcome to the quest Catch Fish!"
- "Options: <yellow>1: Continue</yellow>, <red>2: Cancel</red>"
Options:
1:
Action: DIALOG
Dialog:
- "Are you ready to help us catch fish?"
- "Options: <yellow>1: Start</yellow>, <red>2: Cancel</red>"
Options:
1:
Action: START
Dialog:
- "Great! Catch 10 fish and return to me."
2:
Action: CANCEL
Dialog:
- "Alright, maybe next time."
2:
Action: CANCEL
Dialog:
- "Maybe another time!"
wood:
npc: 2
questName: wood
displayName:
- "&c&lWood Quest"
- "%dialogstatus_<wood>_status%"
yHeight: 3
dialog:
Action: DIALOG
Dialog:
- The bridge is broken! Can you help fix it?
- "Options: <yellow>1: Yes</yellow>, <red>2: No</red>"
Options:
"1":
Action: START
Dialog:
- Great! Bring 10 wood planks to the carpenter.
"2":
Action: CANCEL
Dialog:
- No worries. Let me know if you change your mind.
SlayDragonDialog:
npc: 3
displayName:
- "&b&lSlay the Dragon"
- "%dialogstatus_<Slay the Dragon>_status%"
questName: "Slay the Dragon"
dialog:
Action: DIALOG
Dialog:
- "A dragon is terrorizing the village! Can you help us slay it?"
- "Options: <yellow>1: Yes</yellow>, <red>2: No</red>"
Options:
1:
Action: START
Dialog:
- "Prepare yourself for battle!"
2:
Action: CANCEL
Dialog:
- "We understand. It's a dangerous task."
️ModelEngine Animation Support
Bring your NPCs to life with animations:
Code (YAML):
# This file maps animations to specific NPCs by their ID.
# Define animations per NPC using:
# - looped_animation: animation that plays continuously
# - interact_animation: animation that plays when the player interacts
1:
looped_animation: walk
interact_animation: attack
2:
looped_animation: walk
interact_animation: attack
3:
looped_animation: walk
interact_animation: attack
4:
looped_animation: walk
interact_animation: attack
5:
looped_animation: fidget
interact_animation: greet
# Add more NPCs below
# Make sure animation names match your ModelEngine blueprints!
#
# Example:
# 6:
# looped_animation: idle
# interact_animation: greet
Visual Effects & AutoLook
Code (YAML):
1:
loop: FLAME
loop_count: 10
loop_yOffset: 2.5
onInteract:
particle: HEART
count: 40
yOffset: 2.5
sound: ENTITY_VILLAGER_YES
2:
loop: CLOUD
loop_count: 50
loop_yOffset: 2.7
onInteract:
particle: VILLAGER_HAPPY
count: 60
yOffset: 2.7
sound: ENTITY_PLAYER_LEVELUP
3:
onInteract:
sound: BLOCK_NOTE_BLOCK_BELL
yOffset: 2.4
4:
loop: ENCHANTMENT_TABLE
loop_count: 5
loop_yOffset: 2.3
lookdata.yml
Code (YAML):
autolook:
'5': true
'0': true
'1': true
'6': true
'2': false
'3': false
'4': false
Dynamic Reloading & Maintenance Tools
Reload any part of your NPC system without a restart:
Want to create hidden NPCs only visible to VIPs or quest-eligible players?
/mnpc hide <id> <permission>
Complete Command List
Code (YAML):
/mnpc create <modelengine|mythicmobs> <name> # Create an NPC
/mnpc remove <id> # Remove an NPC
/mnpc move <id> # Move an NPC to your location
/mnpc tp <id> # Teleport to an NPC
/mnpc name <id> <new_name> [height] # Change name and height
/mnpc addcmd <player|console|sudo> <cmd> # Add a command
/mnpc removecmd <cmd> # Remove a command
/mnpc hide <id> <perm|remove> # Manage visibility
/mnpc look <id> # Enable AutoLook (follow players)
/mnpc rotate <id> <deg> <left|right> # Rotate an NPC
/mnpc list # View all NPCs
/mnpc reload # Reload full config
/mnpc reloadname # Reload names/AutoLook
/mnpc reloadeffects # Reload particle effects
/mnpc debug # Check orphaned/bugged NPCs
All commands require permission: mnpc.use
️ Config Files Overview
Required:
Optional but recommended:
Documentation & Support
- 1.20
- 1.20.6
- 1.21
ModeledNPCs – Advanced NPC Management for MythicMobs & ModelEngine
Transform your Minecraft world into a dynamic, interactive universe with ModeledNPCs—a complete NPC system that brings your custom entities to life. Whether you're building an immersive RPG, a quest-driven adventure, or a lively marketplace, this plugin gives you everything you need to create stunning, intelligent, and fully customizable NPCs.
Core Highlights
- ⚙️ Supports both ModelEngine and MythicMobs
- Assign complex command chains to NPCs
- Integrate with questing plugins like BetonQuest, Quests & QuestDialogs
- Dynamic trading system with GUI confirmation
- Full Adventure API support for rich text, hover events & translations
- Data-persistent NPCs with live reloading, debug tools & permission controls
- Spawn NPCs using ModelEngine or MythicMobs with a single command.
- Each NPC is registered with its ID, name, entity type, UUID, and position.
- Automatic support for custom names and holograms.
Trigger any command when players interact with NPCs:
- player: – Run as the player
- console: – Run as the server console
- sudo: – Run as the player with OP
- Custom conditions
- Permission checks
- Delays and cooldowns
Creating a NPC Will happen with this command :
Code (YAML):
/mnpc create <modelengine|mythicmobs> <name> # Create an NPC
/mnpc addcmd <player|console|sudo> <cmd> # Add a command
/mnpc removecmd <cmd> # Remove a command[/FONT]
and data will be saved in npcdata.yml as follows :
Code (YAML):
npcs:
'0':
name: guardred
type: modelengine
commands:
- 'player: spawn'
autoLook: true
customDisplayName: elias
internalUUID: eeee23aa-4655-4fea-ae7c-fc301995f591
entityUUID: f8434a5e-720e-46d2-82ad-a2e760973cd2
location:
world: void
x: 668.4004370430782
y: 114.5
z: -481.95376398341114
yaw: 1.4
pitch: 3.75
'1':
name: guardred
type: modelengine
commands: []
autoLook: true
customDisplayName: eliasas
internalUUID: 61bbfbc4-49ca-49b3-abab-6c39d86e2d4b
entityUUID: b2f36557-0dd6-4eac-a5a1-bf2b9cda4d4d
location:
world: void
x: 667.4445800541569
y: 113.0
z: -479.03800417818377
yaw: -178.44878
pitch: -5.549968
'2':
name: adventurerNPC
type: mythicmobs
commands: []
autoLook: false
internalUUID: d06aef99-88c8-480e-ab93-3bce0996a808
entityUUID: 60cac161-9c96-443c-8daa-21ad2f479827
location:
world: void
x: 669.765871198872
y: 109.0
z: -469.3264074342184
yaw: 10.100135
pitch: 10.650009
'3':
name: adventurerNPC
type: mythicmobs
commands:
- 'player: spawn'
autoLook: false
internalUUID: e64d6b03-d235-4424-b9f8-8c15ca713474
entityUUID: a400da95-fe63-4140-a686-ffe2e93ebeb4
location:
world: void
x: 668.9977608912066
y: 109.0
z: -463.4940848081191
yaw: -173.79921
pitch: 2.2500105
'4':
name: archerNPC
type: mythicmobs
commands: []
autoLook: false
customDisplayName: sdffds
internalUUID: 3eec175b-f8da-4c11-9d6c-d34aebbb74b9
entityUUID: 2ee3deef-b848-45b2-8512-aedc40c905e8
location:
world: void
x: 667.8815271551339
y: 115.0
z: -483.44825838702076
yaw: 1.25
pitch: 3.9
'5':
name: archer
type: modelengine
commands: []
autoLook: true
customDisplayName: asdsa
internalUUID: 2c978b2e-160e-44bd-9228-cd14b07d6963
entityUUID: 694cbabe-cdfe-465e-81d6-a03f750aa90d
location:
world: void
x: 666.4484577368393
y: 112.0
z: -475.7628949632364
yaw: -21.399813
pitch: -0.6000005
'6':
name: quest_graywizard
type: modelengine
commands:
- 'player: enchanter'
autoLook: true
internalUUID: e0da7486-fd52-43ea-84c1-a4dbc4c4b21c
entityUUID: 1b1d0741-b527-40b4-9f84-ab8cea6a23b0
location:
world: void
x: 671.5105520189101
y: 109.0
z: -456.71635729297503
yaw: 75.32529
pitch: -19.94992
️Powerful Trader System
Create complex traders in trader.yml:
- Set requirements: XP, economy balance, specific items (with custom model data).
- Reward players with items, money, permissions, or teleportation.
- Feature-rich multi-page GUI system powered by SmartInvs API.
- Preview, buy/sell buttons, and full configurability.
Code (YAML):
# Example trader NPC configuration
# Replace "npc-1" with the ID of your NPC as stored in the plugin data
npc-1:
# This is the name displayed to players when interacting with the trader
display-name: "&6Stone Trader"
# Requirements to successfully complete the trade
requirements:
# Minimum experience level the player must have
exp: 10
# Minimum amount of money the player must have (requires Vault + economy plugin)
money: 500
# Items the player must have in their inventory (supports custom model data)
items:
"1": # Unique ID for the item requirement (can be any string)
# The name shown to identify this item (not required for logic)
displayName: Stone
# The Minecraft material name (MUST be valid - use autocomplete or Minecraft ID List (1.18) | Minecraft Item IDs)
material: STONE
# Optional: Only accept items with a specific CustomModelData (e.g., from ItemsAdder, Oraxen, or resource packs)
modelId: 57
# How many of this item the player must have
amount: 1
# Message shown if the player doesn't meet this item requirement
fail: "<red>You lack 1x stone</red>"
# Commands to run when the trade is successful
# Use %player% to insert the player's name
commands:
- "console:money give %player% 1000" # Gives $1000 to the player via console command
# Whether to show a confirmation GUI before completing the trade
requireConfirmation: true
# Message shown to the player when the trade is successful
message: "&aYou traded 1 Stone for $1000!"
Plug into top quest systems:
- ✅ Full compatibility with QuestDialogs (native)
- Works with Quests and BetonQuest
- Dynamically shows holograms based on player progress
Code (YAML):
CatchFishDialog:
npc: 1
yHeight: 20
questName: "Catch Fish"
displayName:
- "&b&lCatch Fish"
- "%dialogstatus_<Catch Fish>_status%"
dialog:
Action: DIALOG
Dialog:
- "Welcome to the quest Catch Fish!"
- "Options: <yellow>1: Continue</yellow>, <red>2: Cancel</red>"
Options:
1:
Action: DIALOG
Dialog:
- "Are you ready to help us catch fish?"
- "Options: <yellow>1: Start</yellow>, <red>2: Cancel</red>"
Options:
1:
Action: START
Dialog:
- "Great! Catch 10 fish and return to me."
2:
Action: CANCEL
Dialog:
- "Alright, maybe next time."
2:
Action: CANCEL
Dialog:
- "Maybe another time!"
wood:
npc: 2
questName: wood
displayName:
- "&c&lWood Quest"
- "%dialogstatus_<wood>_status%"
yHeight: 3
dialog:
Action: DIALOG
Dialog:
- The bridge is broken! Can you help fix it?
- "Options: <yellow>1: Yes</yellow>, <red>2: No</red>"
Options:
"1":
Action: START
Dialog:
- Great! Bring 10 wood planks to the carpenter.
"2":
Action: CANCEL
Dialog:
- No worries. Let me know if you change your mind.
SlayDragonDialog:
npc: 3
displayName:
- "&b&lSlay the Dragon"
- "%dialogstatus_<Slay the Dragon>_status%"
questName: "Slay the Dragon"
dialog:
Action: DIALOG
Dialog:
- "A dragon is terrorizing the village! Can you help us slay it?"
- "Options: <yellow>1: Yes</yellow>, <red>2: No</red>"
Options:
1:
Action: START
Dialog:
- "Prepare yourself for battle!"
2:
Action: CANCEL
Dialog:
- "We understand. It's a dangerous task."
️ModelEngine Animation Support
Bring your NPCs to life with animations:
- Triggered or continuous animations
- Controlled via meganimation.yml or directly in-game
Code (YAML):
# This file maps animations to specific NPCs by their ID.
# Define animations per NPC using:
# - looped_animation: animation that plays continuously
# - interact_animation: animation that plays when the player interacts
1:
looped_animation: walk
interact_animation: attack
2:
looped_animation: walk
interact_animation: attack
3:
looped_animation: walk
interact_animation: attack
4:
looped_animation: walk
interact_animation: attack
5:
looped_animation: fidget
interact_animation: greet
# Add more NPCs below
# Make sure animation names match your ModelEngine blueprints!
#
# Example:
# 6:
# looped_animation: idle
# interact_animation: greet
Visual Effects & AutoLook
- Add ambient effects like particles, sounds, and flames
- Set up looping effects to enhance immersion
- Enable AutoLook: NPCs track the closest player automatically
- Fully persistent, toggleable with a simple tag
Code (YAML):
1:
loop: FLAME
loop_count: 10
loop_yOffset: 2.5
onInteract:
particle: HEART
count: 40
yOffset: 2.5
sound: ENTITY_VILLAGER_YES
2:
loop: CLOUD
loop_count: 50
loop_yOffset: 2.7
onInteract:
particle: VILLAGER_HAPPY
count: 60
yOffset: 2.7
sound: ENTITY_PLAYER_LEVELUP
3:
onInteract:
sound: BLOCK_NOTE_BLOCK_BELL
yOffset: 2.4
4:
loop: ENCHANTMENT_TABLE
loop_count: 5
loop_yOffset: 2.3
lookdata.yml
Code (YAML):
autolook:
'5': true
'0': true
'1': true
'6': true
'2': false
'3': false
'4': false
Dynamic Reloading & Maintenance Tools
Reload any part of your NPC system without a restart:
- NPCs
- Names
- AutoLook settings
- Visual effects
- /mnpc reload – Reload everything
- /mnpc reloadname – Reload names/AutoLook
- /mnpc reloadeffects – Reload visual effects
- /mnpc debug – Check for orphaned NPCs, chunk errors, and entity consistency
Want to create hidden NPCs only visible to VIPs or quest-eligible players?
- Set a visibility permission with:
/mnpc hide <id> <permission>
- Players without permission won’t see the NPC
- No restart needed—fully dynamic
Complete Command List
Code (YAML):
/mnpc create <modelengine|mythicmobs> <name> # Create an NPC
/mnpc remove <id> # Remove an NPC
/mnpc move <id> # Move an NPC to your location
/mnpc tp <id> # Teleport to an NPC
/mnpc name <id> <new_name> [height] # Change name and height
/mnpc addcmd <player|console|sudo> <cmd> # Add a command
/mnpc removecmd <cmd> # Remove a command
/mnpc hide <id> <perm|remove> # Manage visibility
/mnpc look <id> # Enable AutoLook (follow players)
/mnpc rotate <id> <deg> <left|right> # Rotate an NPC
/mnpc list # View all NPCs
/mnpc reload # Reload full config
/mnpc reloadname # Reload names/AutoLook
/mnpc reloadeffects # Reload particle effects
/mnpc debug # Check orphaned/bugged NPCs
All commands require permission: mnpc.use
️ Config Files Overview
- data.yml: Stores all created NPCs
- namedata.yml: Name and hologram height settings
- lookdata.yml: AutoLook state data
- meganimation.yml: Animation configurations
Required:
Optional but recommended:
Documentation & Support
- Docs: Welcome | ModelledNpcs
- Discord: Rejoins le serveur Discord Oreo Studios !
Ask questions, request help, or get a demo server set up!