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.
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
About
Project Details
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.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
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
-
Install Fabric Loader ≥ 0.16.9 and Fabric API ≥ 0.92.2+1.20.1.
-
Place
customdynamicnpc-1.0.5.jarinto the server and clientmods/folder. -
Restart Minecraft.
-
Use
/dnpc panelto start creating NPCs or/dnpc zone panelto 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
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
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources