Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
ModeledNPCs: Ultimate NPC Plugin for MythicMobs & ModelEngine! Quests, Dialogues & Traders & more!

ULTIMATE Plugins MC ModeledNPCs: Ultimate NPC Plugin for MythicMobs & ModelEngine! Quests, Dialogues & Traders & more! 7.5

Register to download
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.
Screen_Shot_2025-04-23_at_1.19.56_AM-min_(1)-min-transformed.png

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
Create Dynamic NPCs Instantly
  • 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.
Advanced Interactions & Commands
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
Supports:
  • 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 https://minecraftitemids.com)
    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!"
Quest Integration
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
Use commands like:
  • /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
NPC HIDE – Permission-Based Visibility
Want to create hidden NPCs only visible to VIPs or quest-eligible players?
  • Set a visibility permission with:
Code (Text):
/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
Dependencies
Required
:

Optional but recommended:

Documentation & Support
Whether you're building an epic RPG realm, creating merchant hubs, or scripting deep interactions—ModeledNPCs gives you full power to design the world you imagine.
Author
COSMO
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from COSMO

Share this resource

Latest updates

  1. 7.5

    7.5
  2. 7.4

    7.4
  3. 7.3c

    7.3c
Tags
None
Back
Top
AdBlock Detected

We get it, advertisements are annoying!

Sure, ad-blocking software does a great job at blocking ads, but it also blocks useful features of our website. For the best site experience please disable your AdBlocker.

I've Disabled AdBlock