Bug Fixes
NullPointerException on NPC interaction
Fixed a crash in NPCListener where clicking an NPC would throw a NullPointerException if the effect manager had not yet been initialized. Affected both left-click (PlayerInteractEvent) and right-click (PlayerInteractAtEntityEvent).
NoClassDefFoundError — BukkitAudiences on startup
Removed a leftover dependency on adventure-platform-bukkit (BukkitAudiences). This library is not bundled with modern Paper and was causing the plugin to fail to enable entirely on startup. The API was unused internally so removal had no functional impact.
NoClassDefFoundError — ModelEngine not installed
Fixed multiple crashes that occurred when ModelEngine is not installed on the server:
- ModelEngineHandler.reapplyModelEngineModels() now exits early if ModelEngine is absent
- MEGAnimationHandler now checks ModelEngine availability once at startup and guards all entry points (applySavedAnimationsWithRetry, playLoopedAnimation, playLoopedAnimationByName, playInteractAnimation, stopLoopedOnEntity) — these were crashing every tick via scheduled tasks, spamming the console
Internal
- Upgraded compile JDK to Java 25 (Azul Zulu) to support BetterModel API 3.4.1
- Massive Performance Recode – ~10× lighter CPU usage, smarter caching, fewer allocations, faster tick handling.
- Compatibility Updates – latest Spigot, MythicMobs, ModelEngine, BetonQuest & Quests fully supported.
- New Storage System – SQLite (auto) + JSON options, safer data handling.
- Reload Overhaul–
- /mnpc reloadname: despawn/respawn safely, reapply autoLook, restore names with delay, single hologram refresher.
- /mnpc reload: merges disk→memory without wiping runtime fields (UUIDs, autoLook, etc.).
- NPC Interactions – configurable left/right click, smart left-click fallback (raytrace for tiny hitboxes), fully configurable cooldowns.
- Hologram System – centralized updates via HologramManager, clean removals, chunk safety, new holograms.debug_visibility toggle.
- NPC Effects– /mnpc addeffect command with tab-complete:
- Potion effects applied to clicking players.
- Particle effects (looped or on-interact).
- /mnpc effect clear|remove|reset|clearall for management.
- MythicMobs Scenes Fix – only PDC-tagged NPC-<id> entities treated as ModeledNPCs, no interference with regular MythicMobs.
- QoL & Safety – null checks, warnings, effect/animation restart after respawn, generic key-based mass removal, NPC limits (max_npc_ids, per-type limits), improved dialog integration (new “command fields” mode coming next build).
New Command: /mnpc name <id> <name> [height] Examples:
/mnpc name 3 &eMerchant
/mnpc name 4 &dQuest Giver 3.2
What’s new?
Name is saved to namedata.yml
Hologram auto-refreshes for all players
Fully supports colors using & codes
Optional height offset for floating names
Hologram priority order:![]()
- trader.yml display-name (if any)
- Custom name from /mnpc name
- Default fallback: Unnamed NPC #ID
Fixes: Holograms not updating after moving NPCs
No more “Unnamed” bugs
Improved compatibility with traders + quests
Added Mobs limit system in config.yml ( regenerate it if you have the old one ) this is to ensure no mobs dupes are happening![]()
)
New Features![]()
NPC Effects System![]()
- Spice up your NPCs with particle effects & sounds!
- Customize everything in effects.yml — spawn effects, interaction particles, and more!
Custom Names & Holograms![]()
Auto Look-at-Player NPCs now turn to face players automatically when command /mnpc look <id> is done
- Define NPC display names and floating text height in namedata.yml. by doing command /mnpc name <id> <name> <id>
- Your traders and quest givers now look exactly how you want them!
Bug Fixes Fixed critical startup errors with missing handlerManager causing NPCs not to load on chunk/world load.
Fixed duplicate console logs when removing NPCs.
Improved startup timing to wait until QuestDialog is fully ready before spawning NPCs.
MythicMobs + ModelEngine validation improvements for smooth spawns.
Fixed Issues
- NPCs not being properly removed
New Commands /mnpc reloadeffect –
- Effects not clearing on NPC removal
- Critical bug with sudo command causing OP issues
- Hologram names not appearing or saving correctly
- Holograms not showing after server restarts
- Effects not restoring after restart
- TPS lag caused by NPC chunk handling
- Errors during plugin startup
- Name formatting issues (color codes, invalid names)
- ChatColor-related errors in naming commands
Reloads all looping effects /mnpc reloadname –
Reloads and reapplies all custom NPC names![]()
Changes & Fixes:
- Changed meganimation.yml
# 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
You can now add animation for Model engine NPCS Looping ones and interact ones !
- Fixed a rare issue where some NPCs would stop tracking players after server reloads.
- 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.
Developer Options:
- Stability improvements for NPC spawning and removal.
debug: true will now print NPC logs like direction, angle, and auto-look status.
- Added new debug mode toggle via config.yml:
BEFORE DOING ANY UPDATE PLS BACKUP YOUR FILES !!
BetonQuests / Traders / Sudo Commands and more!
New Features
️ Improvements & Fixes
- 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)!
Command Updates
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
- /mnpc <id> addcmd <player|console|sudo> <command> – now supports all 3 execution types
- Tab completion improved for all commands