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




I’ve added dialog-only flows that can run commands at the end of a dialogue — not just start quests. Perfect for rewards, teleports, messages, etc.

✨ What’s new

  • Dialogue nodes can now include a Commands: list that runs when the node is reached.

  • Works even if questName is empty → pure dialogue + command!
Example config

Code (YAML):

CatchFishDialog
:
  npc
: 12
  yHeight
: 3
  questName
: ""
  displayName
:
  - "&b&lCatch Fish"
  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. "
           Commands:
             - "
say {player } hello! "
         2:
           Action: CANCEL
           Dialog:
             - "
Alright, maybe next time. "
     2:
       Action: CANCEL
       Dialog:
         - "
Maybe another time! "
Storage update (SQLite)
Added SQLite support + new config flags:


Code (YAML):
useJsonStorage : false
useBackupFile
: true
Set useJsonStorage: false to use SQLite.
useBackupFile: true keeps a safety backup of your data.

Changelog

  • New: Dialogue nodes can execute Commands at end.

  • New: SQLite storage option.

  • New: Config keys useJsonStorage, useBackupFile.
Got feedback or bugs? Drop them here!
----------, Sep 9, 2025

MINOR BUG FIXES
----------, Sep 8, 2025

small fixes
----------, Aug 20, 2025

Potions were not being counted when we chaneg the interacction type now its fixed
----------, Aug 18, 2025

VERSION 7.2 Fixes
New
  • Potion/Particle interactions
    • Added a PotionInteractionListener that gives players potion effects and/or spawns “on interact” particles when they click your NPCs.

    • Two config switches:
      • effects.on-right-click (default true)

      • effects.on-left-click (default true)
  • Command: /mnpc addeffect
    • Attach effects to an NPC:
      • Particles on interact:
        /mnpc addeffect <id> particle <looped|oninteract> <PARTICLE_NAME> [yOffset]

      • Potions to player:
        /mnpc addeffect <id> potion <POTION_NAME> <seconds> [amplifier]
    • Also supports a compact “colon” syntax:
      /mnpc addeffect <id> particle:looped:ANGRY_VILLAGER[:yOffset]
      /mnpc addeffect <id> potion:SPEED:10[:1]
Changed
  • MythicMobs integration hardened
    • MythicMobsHandler#onMythicMobSpawn now only touches mobs named NPC-<id>.
      Regular MythicMobs (e.g. your skill) are left completely alone.

    • For NPC-<id> spawns we:
      • Tag with your PDC key (for protection/interaction)

      • Apply NPC safety flags (AI off, invulnerable, no-collide, invisible, no gravity)

      • Restore custom display names (with a short delayed re-assert to beat MM nameplate refresh)
  • Safer NPC protection
    • NPCProtectionListener now cancels damage only for entities that are your NPCs (checks PDC tag and containsNPC(id)).

    • Removed self-registration in the constructor to avoid double listener registration.

    • Runs at LOW priority and respects ignoreCancelled.
  • Effect management
    • /mnpc effect <clear|remove|reset|clearall> <id> wipes all stored effects (both potion & particle) for that NPC and refreshes loop tasks.

    • (Optional pattern) You can extend this to also strip already-applied potions from nearby players if desired.
  • Name/Spawn quality-of-life
    • Spawner & name handling avoid duplicate bodies, close Mythic nameplates when present, and preserve previously saved values.

    • Merges on /mnpc reload keep runtime fields intact.
Tab-Completion
  • Added rich tab-complete for /mnpc addeffect:
    • Step-by-step suggestions: <id> → particle|potion → looped|oninteract or potion list → particle names or durations → yOffset/amplifier.
  • /mnpc effect now completes clear and remove, then lists NPC IDs.
Fixes
  • Listener registration compile error: registering PotionInteractionListener now correctly passes a JavaPlugin (questDialog), e.g.
    Bukkit.getPluginManager().registerEvents(new PotionInteractionListener(npcManager), plugin);

  • NPCEffect API parity: code now uses NPCEffect#getDuration() (ticks) consistently (the previous call to getDurationTicks() was corrected).
Data & Formats
  • Stored effect format (NPCEffect)
    • effectType:
      • Bukkit potion name ("SPEED", "REGENERATION", …) or

      • Particle token: "particle:<looped|oninteract>:<PARTICLE_NAME>:<yOffset>"
    • duration: ticks (potion only; seconds * 20)

    • amplifier: integer level (potion only; default 0)
  • Who receives potions?
    The player who interacts with the NPC. Particles marked as oninteract are spawned at the NPC’s head (offset).
Usage Examples
  • Give Speed II for 10s on interact:
    /mnpc addeffect 12 potion SPEED 10 1

  • Spawn happy villager particles at ~head height on interact:
    /mnpc addeffect 12 particle oninteract VILLAGER_HAPPY 1.8

  • Add looped flame ring (handled by loop manager):
    /mnpc addeffect 12 particle looped FLAME 0.0

  • Clear all effects from NPC 12:
    /mnpc effect clear 12
Compatibility & Behavior Notes
  • Regular MythicMobs are unaffected. Only NPC-<id> wrappers get NPC flags and PDC tags.

  • Clearing effects stops future applications/particles but does not remove potions already on players (by default). You can optionally add a small block to strip active potions nearby if you want that behavior.

  • NPCListener and PotionInteractionListener coexist:
    • NPCListener still handles animations, command firing, and general interaction flow.

    • PotionInteractionListener focuses on giving potions and spawning “oninteract” particles, honoring effects.on-* config toggles.
----------, Aug 18, 2025

Added Hologram logging control:
  • New toggle to silence per-player visibility spam:

    Code (YAML):
    holograms:
      debug_visibility
    : false   # default false
----------, Aug 16, 2025

WOups I had kept default to true in default config this version changes it back to false
----------, Aug 16, 2025

ModeledNPCS (BETA v7.0)
BIG UPDATE : PLS DELETE OLD MODELEDNPC FOLDER AND REGENERATE THE NEW ONE

You can now use the latest BETA build with the newest Spigot, MythicMobs, and ModelEngine.
This is a full recode focused on stability and speed in our tests it’s ~ 10× lighter. ModeledNPCS now barely sips CPU.

✨ Highlights
  • Massive performance pass: less tick time, fewer allocations, smarter caching.

  • Up-to-date compatibility: latest Spigot / MythicMobs / ModelEngine.

  • Storage: SQLite (auto) + JSON supported.

  • BetonQuest & Quests support updated to the latest.

  • Fixed MythicMobs scene despawns when ModeledNPCS is present.
Reworked reloads
/mnpc reloadname

  • Reloads npcdata.yml

  • Safely despawns & respawns each NPC

  • Re-tags autoLook after respawn

  • Reapplies names after a short delay (prevents Mythic from overwriting)

  • Uses one unified hologram refresher (refreshHologramsForNpc) to avoid dupes
/mnpc reload

  • Merges disk → memory without nuking runtime fields (UUIDs, autoLook, etc.)

  • Reloads QuestDialog + ModeledNPCS configs
Holograms, safety & QoL
  • Centralized updates via HologramManager.upsertHologram(...)

  • Clean mass-removal by generic keys (name/trader/dialog)

  • Extra null checks & warnings when managers are absent

  • Keeps chunks alive during respawn

  • Restarts effects/animations after respawn
️ Click behavior + cooldowns (configurable)
Choose left-click, right-click, or both — with a smart left-click fallback (raytrace/aim cone) for tiny model hitboxes.

Code (YAML):
max_npc_ids : 1000
debug
: true
limit
:
  adventurerNPC
: 3
serializeDebug
: false

npc
:
  autoRegisterOrphanedNPCs
: false

  interaction
:
   left
: true         # run interaction on left-click/attack
   right
: true         # run interaction on right-click/use
   left_fallback
:
     enabled
: true
     range
: 5.5       # try 5.5–6.0 for bigger models
     angle_deg
: 30.0   # try 25–35 for wider aim cone

  cooldowns
:
   command_ms
: 3000   # per-PLAYER: block re-triggering commands
   interaction_ms
: 500 # per-NPC: debounce double fires
   click_dedup_ms
: 250 # de-dupe same-tick L+R for the same player+NPC

useJsonStorage
: true
️ Dialogs
A new “command fields” dialog mode is ready — rolling out tomorrow (next build).
----------, Aug 15, 2025

WE CHANGED OUR SUPPORT DISCORD NOW
IN ORDER TO JOIN :
https://discord.gg/xYeuK9dhfy
----------, Jun 7, 2025

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: 76
First Release: Dec 13, 2024
Last Update: Sep 9, 2025
Category: ---------------
All-Time Rating:
12 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings