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!"




Fixed lots of bugs where npcs where loosing their Y position
Fixed Huge stability Bug
Fixed Model Render
----------, May 21, 2025

Fixed Various Bugs and Stability issues
----------, May 20, 2025

REVERT TO 6.3
----------, May 19, 2025

Patch Notes:
➤ Fixed:

  • ️ Resolved persistent name flickering for hidden NPCs with view permissions. Names now stay stable and are only shown when appropriate.

  • Fixed NPC flickering on startup/reload by preventing unnecessary entity respawns when the NPC entity already exists and is valid.

  • Fixed reapplyNamedataToNPC() logic to avoid full respawns unless all fallback options fail — reducing visual bugs and improving consistency.
➤ Improved:

  • ⚡ Optimized spawnNPC() to skip spawning NPCs that are already active, reducing console noise and spawn lag.

  • Smarter use of internal UUIDs and fallback metadata detection to bind NPC entities more reliably.

  • Cleaned up model reapplication to avoid double-spawning ModelEngine ArmorStands.
----------, May 19, 2025

Fixed – Delayed UUID Rebind & ModelEngine Entity Sync
  • Improved Rebinding Logic:
    NPCs that previously failed to bind due to null or stale UUIDs now use a delayed Bukkit.getEntity() fallback that searches nearby entities using PersistentDataContainer.

  • Entity Rebinding Confirmation:
    Logs now confirm entity rebinding with accurate UUID assignment:
    [SpawnNPC] Rebinding NPC ID 8 with UUID: ...

  • ModelEngine-Compatible:
    Rebinding and tag suppression for ArmorStands (ModelEngine models) now work reliably even after delayed spawn cycles.
Cleaned Up – Console Spam Reduction
  • Removed excessive “Could not find entity” warnings by:
    • Avoiding rebind attempts when entity is expected to spawn later.

    • Skipping hidden or permission-restricted NPCs in rebind tasks.
  • ✅ Result: Much cleaner logs, better performance, and no false warning spam.
----------, May 19, 2025

Bug Fix: Safe Entity UUID Rebinding
  • Added UUID null check during spawnNPC() to prevent crashes:

    java.lang.IllegalArgumentException: UUID id cannot be null

  • Improved fallback logic to scan nearby entities using:

    World#getNearbyEntities()

    rather than assuming the stored UUID is always valid.

  • If no entity is found, the system now logs a warning and skips gracefully, preventing plugin crashes and NPC misbehavior.
Summary
This patch ensures that NPCs with null or outdated UUIDs no longer cause fatal errors during spawn, and the system attempts recovery by smartly relinking to entities based on their metadata.
----------, May 19, 2025

Highlights
  • Massive lag spike FIXED during startup and periodic validation.

  • Optimized NPC name reapplication and metadata lookups.

  • Entity linking now uses localized getNearbyEntities instead of full world scans.

  • Reduced memory usage and redundant object creation.

  • New API access layer for developers (ModeledNPCsAPI).

  • ❌ Resolved the "pitch not finite" crash in AutoLook teleportation.

  • ️ Far more robust NPC loading, cleanup, and re-linking.
API & Developer Enhancements
  • ✅ Introduced ModeledNPCsAPI singleton:
    • Access core systems: npcManager, traderManager, npcEffectManager, etc.
  • ✅ Added BungeeCord support via:

    java
    sendPlayerToServer(Player player, String serverName);

  • ✅ Improved internal plugin structure for dependency injection and plugin communication.
⚙️ Performance Optimizations
Efficient Startup
  • NPCLoaderHandler: Eliminated global entity scans; now uses NPC UUID + chunk location + proximity search.

  • NPCManager#spawnNPC: Deferred nameplate and hologram setup to allow smooth chunk loading.

  • MythicMobs/ModelEngine: Delayed model assignment and animation play via runTaskLater.
Smarter Validation
  • ValidationHandler#validateNPCs:
    • Reduced CPU overhead by replacing World#getEntities() with getNearbyEntities() scoped to each NPC.

    • Fewer checks, better tick efficiency, zero lag spikes.
Cleaner Data Logic
  • Removed:
    • Legacy PDC name sync.

    • Redundant setCustomName() / getCustomDisplayName() calls.
  • Simplified:
    • NPCData string resolution.

    • UUID/entity validation logic.
  • Ensured:
    • Dummy NPC creation doesn’t fail in empty worlds.
Bug Fixes
  • Crash Fix:
    • IllegalArgumentException: pitch not finite when AutoLook attempted invalid rotations.
  • Startup Fixes:
    • NullPointerException due to early listener registration before npcManager was ready.
  • Reload Safety:
    • NPCs no longer disappear or reset on /reload due to persistent UUID mismatches.
  • Command System:
    • Fixed plugin.yml error (provides must be a list) that broke command registration.
  • Effect Tagging:
    • NPCs now preserve autoLook state via PDC and re-tag correctly on world load.
✨ Additional Improvements
  • AutoLook now uses angle check to avoid over-rotating unnecessarily.

  • Adventure API used consistently for all player-facing output.

  • Scheduled validation and animation replay now happen asynchronously and in sync with server ticks.
How to Update
  1. Backup your ModeledNPCS folder.

  2. Replace old .jar with ModeledNPCS v6.1.

  3. Restart the server – done!
‍ For Developers
Use the new ModeledNPCsAPI:

API LINK WILL BE ADDED SOON ON OUR DISCORD !!
----------, May 19, 2025

Highlights
  • Massive lag spike FIXED during startup and periodic validation.

  • Optimized NPC name reapplication and metadata lookups.

  • Entity linking now uses localized getNearbyEntities instead of full world scans.

  • Reduced memory usage and redundant object creation.

  • New API access layer for developers (ModeledNPCsAPI).

  • ❌ Resolved the "pitch not finite" crash in AutoLook teleportation.

  • ️ Far more robust NPC loading, cleanup, and re-linking.
API & Developer Enhancements
  • ✅ Introduced ModeledNPCsAPI singleton:
    • Access core systems: npcManager, traderManager, npcEffectManager, etc.
  • ✅ Added BungeeCord support via:

    java
    sendPlayerToServer(Player player, String serverName);

  • ✅ Improved internal plugin structure for dependency injection and plugin communication.
⚙️ Performance Optimizations
Efficient Startup
  • NPCLoaderHandler: Eliminated global entity scans; now uses NPC UUID + chunk location + proximity search.

  • NPCManager#spawnNPC: Deferred nameplate and hologram setup to allow smooth chunk loading.

  • MythicMobs/ModelEngine: Delayed model assignment and animation play via runTaskLater.
Smarter Validation
  • ValidationHandler#validateNPCs:
    • Reduced CPU overhead by replacing World#getEntities() with getNearbyEntities() scoped to each NPC.

    • Fewer checks, better tick efficiency, zero lag spikes.
Cleaner Data Logic
  • Removed:
    • Legacy PDC name sync.

    • Redundant setCustomName() / getCustomDisplayName() calls.
  • Simplified:
    • NPCData string resolution.

    • UUID/entity validation logic.
  • Ensured:
    • Dummy NPC creation doesn’t fail in empty worlds.
Bug Fixes
  • Crash Fix:
    • IllegalArgumentException: pitch not finite when AutoLook attempted invalid rotations.
  • Startup Fixes:
    • NullPointerException due to early listener registration before npcManager was ready.
  • Reload Safety:
    • NPCs no longer disappear or reset on /reload due to persistent UUID mismatches.
  • Command System:
    • Fixed plugin.yml error (provides must be a list) that broke command registration.
  • Effect Tagging:
    • NPCs now preserve autoLook state via PDC and re-tag correctly on world load.
✨ Additional Improvements
  • AutoLook now uses angle check to avoid over-rotating unnecessarily.

  • Adventure API used consistently for all player-facing output.

  • Scheduled validation and animation replay now happen asynchronously and in sync with server ticks.
How to Update
  1. Backup your ModeledNPCS folder.

  2. Replace old .jar with ModeledNPCS v6.1.

  3. Restart the server – done!
‍ For Developers
Use the new ModeledNPCsAPI:

API LINK WILL BE ADDED SOON ON OUR DISCORD !!
----------, May 19, 2025

ModeledNPCs v6.0 Update!

Hey everyone!
We’re excited to announce the release of ModeledNPCs version 6.0 — this update brings major improvements to the plugin’s performance and stability!

However, please read carefully before updating:

⚠️ This version completely changes the saving system.
We’ve moved from YAML to JSON, which makes NPC data saving much faster and more reliable.

What you need to do:

  • Delete your old ModeledNPCS folder

  • Remove the old .jar file

  • Upload the new v6.0 jar and restart the server
Why this is important:
This update fixes long-standing issues, including NPCs randomly disappearing for some players. It's a clean slate, but totally worth it!

New Commands:
You can now control NPC behavior more easily:

  • /mnpc look <id> – Enable auto-look (NPC looks at nearby players)

  • /mnpc static <id> – Disable auto-look (NPC stays in place)
Please note:
We are officially dropping support for all versions below 6.0.
If you’re using an older version, we strongly recommend upgrading to benefit from all the fixes and improvements.
----------, May 17, 2025

If you choose to update to version 6.0, please note that this update changes the entire saving system. You will need to delete all your existing ModeledNPC files and the old jar file, then place the new one on your server. This version uses JSON instead of YAML for saving and storing NPCs, resulting in a much smoother and more efficient experience.

->
Added command for making npcs static so now you have
/mnpc look <id> - enable auto look
/mnpc static <id> - disable auto look
----------, May 17, 2025

removed accidental left over debugs
----------, May 10, 2025

Fixed some bugs and API changes
----------, May 10, 2025

✨ New Features:
  • Added bungee: command executor
    NPCs can now send players to other BungeeCord servers via plugin messaging.
    Format:

    bash
    /mnpc <id> addcmd bungee:<serverName>
----------, May 5, 2025

FILE SHOULD BE 1.7MB when u unzip it
----------, May 4, 2025

UPLOAD BUG IF YOUR VERSION IS LESS THEN 1.7MB PLS REPORT IT ON DISCORD
----------, May 2, 2025

re upload cz some people have issues with download
----------, May 2, 2025

Fixed a
caused when updating NPC holograms before the QuestManager was fully loaded.

  • Now safely checks if QuestManager and HologramManager are ready before updating.

  • Improved error logging when dependencies are missing.
----------, Apr 27, 2025

Bug Fixes:
  • [✔️ NPCs Not Loading]
    Fixed a critical issue where NPCs defined in npcdata.yml were not being loaded at startup if the world (spawn) was not yet initialized.
    → NPC loading now waits for the target world to be fully available.

  • [✔️ Empty NPC Load]
    Resolved an issue where the loader would silently skip loading even though npcdata.yml had valid NPCs.
    → Added clear debug logs to trace npcs section detection and entry processing.

  • [✔️ UUID Binding Failure]
    Improved reliability of UUID/entity binding by deferring auto-look tagging and name application until entity is fully spawned.
️ Improvements:
  • Added extensive debug logging
    → Includes checks for config keys, NPC section presence, per-NPC world state, and spawn success confirmation.

  • Auto world loader support
    → Automatically attempts to load missing worlds before skipping NPCs.

  • Better ID Pool Handling
    → Ensures clean reuse and tracking of available NPC IDs during initialization.
----------, Apr 23, 2025

Minor Performance Bug fix
----------, Apr 23, 2025

Major Fixes & Enhancements:
  • AutoLook is now fully functional!
    • NPCs now smoothly turn to face nearby players again.

    • AutoLook is only active when configured, making it cleaner and more optimized.

    • Fixed a rare issue where some NPCs would stop tracking players after server reloads.
  • Bug Fixes:
    • Fixed an issue where AutoLook randomly disabled on some NPCs (e.g., ID 0).

    • Fixed a bug where Autolook was causing HIGH MS LAG

    • NPC name and auto-look settings are now correctly restored after reloading.
    • Stability improvements for NPC spawning and removal.
  • ⚙️ Developer Options:
    • Added new debug mode toggle via config.yml:
      • debug: true will now print NPC logs like direction, angle, and auto-look status.

      • Set to false to keep logs clean.
----------, Apr 21, 2025



Fixed Hologgrams where not getting updated afer npc moves
----------, Apr 19, 2025

Fixed a error message on NPC Listener / added null checks
----------, Apr 18, 2025

Bug Fixes
  • Fixed looped animation (e.g. fidget) from meganimation.yml not playing correctly after spawn.

  • Fixed NPC custom names & holograms not applying after server restart.

  • Fixed missing name display for ModelEngine NPCs due to entity rebind on join.
New Features
  • Re-added /mnpc rotate <id> <degrees> <left|right> command to manually rotate NPCs.

  • Auto-look PDC integration: rotation now persists and is detected via PersistentDataContainer.
----------, Apr 18, 2025

Fixed issue with naming modelengine npcs does not persist after restart
----------, Apr 17, 2025

✨ Highlights
  • Massive stability & NPC persistence upgrade

  • Holograms, names, and entities now survive crashes, reloads, and re-joins.
    -
  • Added a Lang file do you can translate to any language u want
What's New
✅ Persistent NPC Identification
  • All NPCs now use PersistentDataContainer (PDC) tagging instead of fragile names.

  • This guarantees robust entity detection after server restarts or crashes.
Name & Hologram Sync
  • Names and holograms are now automatically re-applied on join.

  • No more needing /mnpc reloadname manually!

  • Added JoinNameFixer to handle name + hologram refresh when players join.
Smarter Entity Tracking
  • NPCs now auto re-link their entities using UUIDs, PDC, and metadata fallback.

  • Ensures NPC visuals (nameplates, models, etc.) are restored reliably.
Proximity-Based Loading
  • Nearby NPCs automatically spawn + rebind when players approach.

  • Reduced load on server by skipping NPCs far from any player.
Improved Debugging & Logging
  • All critical NPC events (rebinds, respawns, hologram updates) now log to console in debug mode.

  • Easy to trace what's happening with your NPCs.
----------, Apr 17, 2025

BUG FIXES
----------, Apr 16, 2025

Fix /mnpc name not updating npc name after restart
Fix name showing after restart
Fix command /mnpc reloadname
----------, Apr 16, 2025

Oups sorry i kept my debugs
----------, Apr 15, 2025

FIXED NPC NAMING
FIXED MODELGNINE NPC DUPING
FIXED MODELENGIN NPC ANIMATIONS
FIXED MYTHICMOBS NPC DUPING
FIXED MYTHICMOBS NPCS NOT TAKING NAMES
REFACTORED THE ENTIRE CODE
FPLUGIN IS MUCH MORE LIGHTER
FIXED PERFORMENCE ISSUES
----------, Apr 15, 2025

Fixed an issue where MythicMobs NPCS were duping and causing server Lag
----------, Apr 12, 2025

Modifies meganiamtion.yml to support on intereact animation and looping animation

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
: idle_loop
  interact_animation
: wave

2
:
  looped_animation
: sit_loop
  interact_animation
: nod

3
:
  looped_animation
: breathe
  interact_animation
: cheer

4
:
  looped_animation
: look_around
  interact_animation
: point

5
:
  looped_animation
: guard_idle
  interact_animation
: alert

# Add more NPCs below
# Make sure animation names match your ModelEngine blueprints!
#
# Example:
# 6:
#   looped_animation: idle
#   interact_animation: greet
 
----------, Apr 12, 2025

FIX mythimobs npc cannot be named does not persist after restart

Added /mnpc rotate command to rotate the npc
----------, Apr 12, 2025

Fixed issue Holograms were not showing unless quests plugin was installed

Fixed issue if NPC is not name we had a hologram showing saying unnamed npc
----------, Apr 11, 2025

Names and effects now persists for modelengine entities
----------, Apr 11, 2025

Release Date: April 11, 2025

Fixed Issues with NPC Not being removed
Fixed issues with effects not being removed on npc removal
Fixed Critical Bug on sudo command
Fixed Hologram names not working
Fixed hologram not showing back up on restart
Fixed effects not showing bakc up on restart
Fixed NPC TPS Issue
Fixed error on startup
Fixed Errors on naming
Fixed error related to chat color
Added command /mnpc reloadeffect and /mnpc reloadname

----------, Apr 11, 2025

- Critical Bug Fix with duo command
- Bug fix with chat color
----------, Apr 10, 2025

Fix Effects Bugs sorry ^
----------, Apr 10, 2025

Fixed Npc removal does not remove the effect
----------, Apr 10, 2025

✨ New Features
NPC Effects System (effects.yml)
  • Added support for effects.yml to define visual and sound effects for NPCs.

  • Effects can be looped particles, interaction sounds, or spawn visuals.

  • Example configuration:
Code (Text):
npc-5:
  spawn:
   particles: [VILLAGER_HAPPY]
   sound: ENTITY_VILLAGER_AMBIENT
  interact:
   particles: [CRIT]
   sound: ENTITY_PLAYER_LEVELUP

Custom NPC Names via namedata.yml

  • You can now configure custom display names for each NPC:

Code (YAML):
 5:
    name
: "&eTrader Bob"
    height
: 2.6
  • Names are now properly shown via holograms above NPCs on spawn and reload.
NPC Look-at-Player System
  • New feature: NPCs with autoLook: true will automatically rotate to face nearby players!

  • Runs every second and makes interactions feel more immersive.
Bug Fixes
Critical NPE Fix on Startup and Chunk Load
  • Fixed:

    csharp
    java.lang.NullPointerException: Cannot invoke "HandlerManager.get(Class)" because "this.handlerManager" is null
    ✅ Cause: NPCs were being spawned before QuestDialog was fully initialized. ✅ Fix: NPC spawning is now delayed by 1 second on chunk load to allow full system boot.
Multiple Removal Logs (NPC ID Repeating)
  • Issue: Repeated [INFO] Removed NPC ID: X spam in console.

  • Fixed duplicate NPC entity removal and improved entity cleanup during chunk load.
MythicMob & ModelEngine Initialization Order
  • Fixed order-sensitive issues where models or mobs wouldn't spawn due to missing blueprints/mobs during early startup.
Improvements
  • Improved logging and debug output for all NPC spawning/hologram operations.

  • Smarter hologram height fallback: DialogTree::getYHeight used if available, otherwise namedata.yml.

  • Enhanced orphaned NPC detection and cleanup for smoother reloads and fewer console warnings.
----------, Apr 10, 2025

Fixed Consol Spam When close to NPC
Added Command Cooldown for npc interactions
Added Debugs that will show only if Debug is true for holograms to !
----------, Apr 9, 2025

✨ New: Custom NPC Display Names!
You can now personalize each NPC's name using a custom command:

bash
/mnpc name <id> <name> [height]
  • ✅ Saves the name and hologram height to namedata.yml

  • ✅ Hologram automatically updates for all online players

  • ✅ Supports colored names using & codes (e.g. &eMerchant)

  • ✅ Height is optional – default is 2.5 blocks above the NPC
Smarter Hologram Display Priority
Hologram names now prioritize in this order:

  1. trader.yml display-name

  2. Custom name from /mnpc name (stored in namedata.yml)

  3. ❔ Fallback: Unnamed NPC #<id>
Other Improvements
  • Holograms now follow NPCs when moved

  • Fixed null error when refreshing holograms

  • Improved chunk loading reliability for NPC spawn
----------, Apr 9, 2025

Now in config.yml
we have :

Code (YAML):
limit:
  adventurerNPC
: 3
#add more mobs with limits
you can specify how many NPC kind of that mobh you want in order to prevent unwanted dupes ane keep server as healthy as possible
----------, Apr 8, 2025

Want your NPC to do an animation when a player right-clicks it?

With ModeledNPCs, you can assign a specific animation to ModelEngine NPCs that plays whenever a player interacts with them. No MythicMobs needed!

Example Configuration
Create or edit this file:


Code (YAML):
plugins/QuestDialogs/ModeledNPCS/meganimations.yml
And add entries like this:
Code (YAML):

4
:
  animation
: grabsword
2
:
  animation
: npc_dance
 
----------, Apr 8, 2025

Fixed a small issue with /mnpc remove command
----------, Apr 8, 2025

BEFORE DOING ANY UPDATE PLS BACKUP YOUR FILES !!
✅ BetonQuests / Traders / Sudo Commands and more!

New Features

  • Trader System added!
    Create fully configurable NPC traders using trader.yml.
    Supports:
    • EXP, money, and item requirements

    • Console/player command rewards

    • Optional confirmation system
  • Sudo Commands
    NPCs can now execute commands as OP players!
    Use the prefix sudo: when adding commands to NPCs.

  • BetonQuests Compatibility
    Built-in support to trigger BetonQuest objectives via NPC interaction (if enabled)!
Improvements & Fixes
  • ✅ ModelEngine animations now play on interaction as expected
  • ✅ MythicMobs NPCs properly handle player interaction and animation triggering
  • ✅ Fixed interaction cooldown logic to prevent abuse
  • ✅ Logging improvements for NPC interactions (debug mode)
  • ✅ Fixed issue with NPCs turning into Pigs
  • ✅ Fixed NPC Dupe Issue
  • ✅ Optimized Plugin
Command Updates
  • /mnpc <id> addcmd <player|console|sudo> <command> – now supports all 3 execution types

  • Tab completion improved for all commands
----------, Apr 8, 2025

ModelledNPC - Update Patch Notes
ALWAYS KEEP A BACKUP BEFORE UPDATING!

Version 3.0- Latest Changes & Improvements
Compatibility & Updates
New Features
  • ✨ Added NPC Hide Option for an RPG-like touch!
    • Perfect for immersive gameplay where NPCs appear/disappear dynamically.
Fixes & Improvements
  • Lots of bug fixes! Stability and performance improvements.
  • Optimized NPC rendering for better performance.
  • Improved compatibility with the latest Paper/Spigot versions.
  • Resolved minor sync issues with model animations.
Reminders
  • Backup your data before updating to avoid any issues.
  • Ensure that all dependencies are updated for smooth functionality.
  • Report any bugs or issues to our support channels!
Need Help? Join our Discord or check the documentation for further assistance.
----------, Feb 16, 2025

Fix a bug where it would spam errors on console when removing NPCS
----------, Jan 22, 2025

Whats New:

Added Quests Support!
Added Dialgues support !
Added NPC Glows for quests !!

Bug fixes :
- Fixed bug where modelengine npcs where not registering UUID Correctly
- Fixed a bug causing memory leak
----------, Jan 20, 2025

Whats New:

Added Quests Support!
Added Dialgues support !
Added NPC Glows for quests !!

Bug fixes :
- Fixed bug where modelengine npcs where not registering UUID Correctly
- Fixed a bug causing memory leak
----------, Jan 20, 2025

- Removed debug messages spaming
- Fixed Bugs
----------, Dec 14, 2024

MInor bug fix regarding mythicmobs NPCS
----------, Dec 14, 2024

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