promotional bannermobile promotional banner

Custom Dynamic NPC

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.

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+

The Custom Dynamic NPC Team

profile avatar
  • 6
    Projects
  • 8.8K
    Downloads

More from elhumildejulianView all

  • authserverVerify project image

    authserverVerify

    • 2.0K
    • Mods

    Client-side companion for the SessionGuard server security protocol.

    • 2.0K
    • March 2, 2026
    • Mods
  • mob merger project image

    mob merger

    • 2.1K
    • Mods

    # Mob Merger - Comprehensive Summary **Mob Merger** is a performance optimization mod for Fabric on Minecraft 1.20.1 (v1.0.9) that merges nearby farm mobs to reduce lag in massive farms while maintaining equivalent production.

    • 2.1K
    • March 1, 2026
    • Mods
    • +1
  • item merger project image

    item merger

    • 2.0K
    • Mods

    Item Merger is a Fabric mod (v1.0.4) for Minecraft 1.20.1 that automatically merges nearby item entities to reduce lag in large automated farms.

    • 2.0K
    • March 1, 2026
    • Mods
    • +2
  • Bat Remover project image

    Bat Remover

    • 2.1K
    • Mods

    **Bat Remover** is a lightweight utility mod for Fabric on Minecraft 1.20.1 (v1.0.1) that completely eliminates bats from the game, reducing entity lag and removing one of Minecraft's most annoying ambient mobs.

    • 2.1K
    • March 1, 2026
    • Mods
    • +2
  • authserverVerify project image

    authserverVerify

    • 2.0K
    • Mods

    Client-side companion for the SessionGuard server security protocol.

    • 2.0K
    • March 2, 2026
    • Mods
  • mob merger project image

    mob merger

    • 2.1K
    • Mods

    # Mob Merger - Comprehensive Summary **Mob Merger** is a performance optimization mod for Fabric on Minecraft 1.20.1 (v1.0.9) that merges nearby farm mobs to reduce lag in massive farms while maintaining equivalent production.

    • 2.1K
    • March 1, 2026
    • Mods
    • +1
  • item merger project image

    item merger

    • 2.0K
    • Mods

    Item Merger is a Fabric mod (v1.0.4) for Minecraft 1.20.1 that automatically merges nearby item entities to reduce lag in large automated farms.

    • 2.0K
    • March 1, 2026
    • Mods
    • +2
  • Bat Remover project image

    Bat Remover

    • 2.1K
    • Mods

    **Bat Remover** is a lightweight utility mod for Fabric on Minecraft 1.20.1 (v1.0.1) that completely eliminates bats from the game, reducing entity lag and removing one of Minecraft's most annoying ambient mobs.

    • 2.1K
    • March 1, 2026
    • Mods
    • +2