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

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

"Unleash the Power of MythicMobs and ModelEngine—Bring Your NPCs to Life!"



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.
Resource Information
Author:
----------
Total Downloads: 48
First Release: Dec 13, 2024
Last Update: May 21, 2025
Category: ---------------
All-Time Rating:
12 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings