Custom Dynamic NPC

Quick rating

Custom Dynamic NPC

No reviews yet

A complete system for dynamic NPCs and customizable hostile mobs with Blockbench models, procedural animations, a WYSIWYG visual editor, and spawn zone management — all fully controlled from the server.

Mod Loaders
Fabric
Minecraft

Community voices

Reviews

Versions
Loading versions…
Match includes

Click once to include, again to exclude, again to clear

Rating Any
Any 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0
Min
Max
Play Status
Reviews
Time Played
hrs+
Verified developers only
Has developer response
List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
customdynamicnpc-1.0.5.jar
Authors

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

About

Description

Custom Dynamic NPC

Minecraft 1.20.1 · Fabric · Server-Authoritative

A complete system for dynamic NPCs and customizable hostile mobs with Blockbench models, procedural animations, a WYSIWYG visual editor, and spawn zone management — all fully controlled from the server.


✨ Key Features

🧑‍🤝‍🧑 Dynamic NPC System

  • Server-authoritative: all logic runs on the server; the client only renders.

  • States: IDLE, TALKING, WALKING, ANIMATING, WORKING, SLEEPING, CUSTOM.

  • Configurable AI brain (NpcBrain): automatic state transitions, timers, wandering.

  • Custom skins: assign any skin to each NPC.

  • Blockbench models (.bbmodel): upload custom 3D models directly in-game.

  • Configurable hitbox: adjust collision width and height per NPC.

  • Model rotation: rotate the NPC model to any angle.

  • Invulnerable by default: NPCs cannot be damaged (configurable).

  • Path system: define waypoints so NPCs can walk in loops.

  • Full persistence: all NPCs are automatically saved and survive restarts.


⚔️ Zone-Based Hostile Mob System

  • Spawn zones (MobZone): define rectangular areas where hostile mobs spawn automatically.

  • Configurable variants: each zone can have multiple mob variants with:

    • 📛 Custom name

    • ⚔️ Damage, ⚡ Speed, ❤️ Health, 🎯 Tracking range

    • 🧱 Hitbox (width × height)

    • 🎨 Skin and Model (PlayerModel, Blockbench, or vanilla mob)

    • 🚶 Walk animation: none, bob, sway, bounce

    • 👊 Attack animation: none, lean, pulse, shake

  • Configurable drops: define death loot with min/max amounts and probability.

  • Controlled spawning: spawn delay, max alive mobs, enable/disable per zone.

  • Multi-dimension support: each zone remembers its dimension.

  • Triple rendering system:

    • 🟣 Blockbench models with imported textures and procedural animations.

    • 🟢 Vanilla mob proxy (e.g., minecraft:turtle, minecraft:zombie): renders native appearance and animations.

    • 🔵 PlayerModel fallback.


🎬 Procedural Animations (Blockbench Models)

Imported Blockbench models support automatic animations without separate animation files:

Type Name Effect
🚶 Walk bob Smooth vertical bounce while walking
🚶 Walk sway Side-to-side sway while walking
🚶 Walk bounce Pulsing squash & stretch
👊 Attack lean Forward lean on attack
👊 Attack pulse Brief scale pulse on attack
👊 Attack shake Rapid vibration on attack

Animations trigger based on real entity movement and swing/damage state.


🖥️ Full Visual GUIs

📋 Staff Panel (/dnpc panel)

Main control panel for operators:

  • NPC list with search and selection.

  • 3D preview of the selected NPC with model and skin.

  • Model gallery with scrollable cards and 3D previews.

  • .bbmodel upload directly from local files.

  • Visual hitbox controls with sliders.

  • Inline editing of name, skin, model, state, wandering.

🎨 WYSIWYG GUI Editor (GuiNodeEditorScreen)

Drag & drop visual editor to create NPC interfaces:

  • Resizable grid canvas.

  • Draggable nodes: buttons, panels, labels, separators, images, items.

  • Properties panel with tabs: Preset, Style, Actions, Advanced.

  • Available actions: run_command, close_gui, open_url, send_message, play_sound, change_state, open_preset, give_item, open_dialogue, teleport_player, show_title, npc_anim, set_score, open_inventory, consume_item, check_inventory.

  • Conditions: has_permission, npc_state, has_item, score_gte.

  • Savable presets: shop, dialogue, custom JSON.

🗺️ Zone Panel (/dnpc zone panel)

Visual panel to manage hostile spawn zones:

  • Zone list with ON/OFF state, size, variants, drops, active mobs.

  • Quick creation with auto-filled coordinates.

  • Three tabs per zone:

    • ⚙️ Settings: editable bounds (6 coordinates), spawn delay, max mobs, state.

    • ⚔️ Variants: cards with stats, model, animations. Button opens Mob Picker.

    • 💎 Drops: cards with item, amount, probability. Button opens Item Picker.

  • Visualization toggle (◉ Vis): enables/disables in-world zone boundary rendering.

🦎 Mob Picker (GuiMobPickerScreen)

Visual browser for selecting mobs/models when creating variants:

  • Source list by mod namespace (minecraft, modded, ⚡ models).

  • Visual grid with spawn eggs and custom model icons.

  • Search by name and ID.

  • Stat fields: name, damage, speed, health, tracking, hitbox W/H.

  • Animation selector: cycle walk/attack animations with buttons.

🎒 Item Picker (GuiItemPickerScreen)

Visual browser to add drops:

  • Item grid with real rendered icons.

  • Filter by mod namespace.

  • Fields: minimum amount, maximum amount, probability.


🌐 Zone Boundary Rendering (ZoneBoundaryRenderer)

  • Wireframe + translucent fill for each zone, visible in-world.

  • Unique colors per zone (red, blue, green, yellow, purple, orange, cyan).

  • Selected zone is highlighted with a bright pulse + floating label showing name and size.

  • Toggle from the Zone Panel GUI.


📡 Networking & Performance

  • GZIP-compressed packets to minimize network usage.

  • Duplex channels: 10+ dedicated S2C and C2S channels.

  • Model manifest sync: on join, the server sends a model manifest; the client downloads only what it needs.

  • Client model cache with dynamic textures.

  • Proxy entity cache for vanilla rendering (reuses dummy entities).


📜 Commands

All commands use /dnpc (requires OP level 2):

NPCs

Command Description
/dnpc panel Opens the staff visual panel
/dnpc spawn <name> [pos] Creates an NPC
/dnpc remove <name|uuid|nearest> Removes an NPC
/dnpc list Lists all NPCs
/dnpc tp <id> <pos> Teleports an NPC
/dnpc state <id> <state> Changes the state
/dnpc skin <id> <skin> Changes the skin
/dnpc model <id> <modelId> Assigns a Blockbench model
/dnpc anim <id> <animation> Plays an animation
/dnpc wander <id> <true|false> Enables/disables wandering
/dnpc rename <id> <new_name> Renames an NPC
/dnpc path add/clear/loop <id> Path system
/dnpc gui open <id> [player] Opens the NPC GUI
/dnpc gui set <id> shop|dialogue|json Assigns a GUI preset
/dnpc models list Lists Blockbench models
/dnpc models reload Reloads models from disk
/dnpc reload Reloads NPCs
/dnpc save Saves everything

Hostile Zones

Command Description
/dnpc zone panel Opens the zone visual panel
/dnpc zone create <id> <pos1> <pos2> Creates a zone
/dnpc zone remove <id> Removes a zone and kills its mobs
/dnpc zone list Lists all zones
/dnpc zone info <id> Zone details
/dnpc zone enable/disable <id> Enables/disables
/dnpc zone set <id> delay/maxmobs <value> Configures spawning
/dnpc zone variant add/remove/list/set Manages variants
/dnpc zone drop add/remove/list Manages drops
/dnpc zone save/reload Saves/reloads zones

📦 Installation

  1. Install Fabric Loader ≥ 0.16.9 and Fabric API ≥ 0.92.2+1.20.1.

  2. Place customdynamicnpc-1.0.5.jar into the server and client mods/ folder.

  3. Restart Minecraft.

  4. Use /dnpc panel to start creating NPCs or /dnpc zone panel to manage hostile zones.


🔧 Requirements

Requirement Version
Minecraft 1.20.1
Fabric Loader ≥ 0.16.9
Fabric API ≥ 0.92.2+1.20.1
Java JDK 17+

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works