promotional bannermobile promotional banner

NPC Pathmaker: Bring NPCs to Life

Create complex NPC routes with built-in obstacle avoidance, realistic gravity, and customizable waypoint events.

File Details

NPCPathmak_v85_beta

  • B
  • Apr 22, 2026
  • 1.12 MB
  • 9
  • 26.10+1

File Name

NPCPathmak_v85_beta.mcaddon

Supported Versions

  • 26.10
  • 1.21.30

NPC Pathmaker - Changelog (v8.2 – v1.0.85 Professional Update)

🧠 Intelligence & Navigation (AI Overhaul)

  • "Wall Sliding" Arc Scanner: Replaced the rigid detour system with a dynamic arc-scanning radar. NPCs now "sweep" angles from 45° to 135° to find the most efficient path around obstacles, allowing them to glide along long walls without stuttering.
  • Hazard Avoidance System (Lava & Pits): The AI now prioritizes self-preservation. NPCs recognize Lava as a solid obstacle and detect vertical drops deeper than 3 blocks (Pits), automatically re-routing to avoid falling.
  • Oscillation Fix ("Michael Jackson" Bug): Implemented a Stateless Steering system. By decoupling the radar from the NPC's previous movement ticks, we eliminated the back-and-forth "shuffling" behavior at corners.
  • Ground-Relative Radar (Jump Stability): The radar now locks to the "Ground Y" coordinate. This prevents the NPC's "vision" from jumping into the air during a jump, ensuring they don't lose track of obstacles while mid-air.

🏃 Physics & Fluid Dynamics (NPC Body)

  • Micro-Surface Magnetism: A complete rewrite of the height-snapping engine. NPCs now use absolute block-grid coordinates to "stick" perfectly to sub-block surfaces:
    • Carpets: 0.0625 blocks.
    • Trapdoors: 0.1875 blocks.
    • Slabs/Stairs: 0.5 blocks.
    • Path/Farmland: 0.9375 blocks.
  • Advanced Water Buoyancy: NPCs are no longer "weighted" in water. They now feature custom buoyancy physics, moving at 60% speed and automatically surfacing to float when submerged to chest level.
  • Smart Step-Down Logic: NPCs now "feel" the ground up to 0.7 blocks below them. This allows for seamless transitions when stepping down from a full block onto a slab or carpet without floating in the air.
  • Vertical Climbing Limit: Implemented a hard safety cap of 1.05 blocks for "Step-Up" maneuvers. This prevents NPCs from accidentally "glitching" or teleporting onto 2-block high walls or roofs.

🛡️ Security & Role-Based Access

  • Dual-Tier Permissions:
    • Editor Level: Only Operators or players with the npc_editor tag can use the Magic Stick to open menus or plot points.
    • Admin Level: The "Arrival Command" field is now dynamically hidden from non-OP editors to prevent unauthorized command execution (Console Security).
  • Protected Data Operations: The "Clear All Data" button is now restricted to Operators only, preventing accidental route deletion by junior builders.

🖥️ Interface & UX (The Editor Experience)

  • Persistent HUD (ActionBar): While in Edit Mode, a high-visibility HUD displays the targeted NPC's name and current waypoint count (e.g., Waypoints: 14/20), providing real-time feedback.
  • Quick Toggle (Sneak-Switch): Added a "Hot-Key" maneuver. Sneak + Click an NPC to instantly enter/exit Edit Mode without opening the UI. Sneak + Click in the air to globally disconnect.
  • Visual Path Mapping: Introduced dotted line rendering using endrod particles. Waypoints are now visually connected in a sequence, allowing creators to see the NPC’s future path before activation.
  • Interactive Audio Feedback: Added unique sound cues for Mode ON (note.pling), Mode OFF (random.break), and successful waypoint placement (random.orb).

⚙️ Technical Architecture (Core Engine)

  • Full Modularity Overhaul: The script has been decentralized into specialized modules (main.js, movement.js, ui.js, utils.js), significantly improving performance and making future feature integration easier.
  • Optimized HUD Refresh: HUD and Path visualization now refresh on separate tick-intervals (20-tick cycles) to maintain high FPS even with multiple NPCs active.
  • Improved Error Handling: Added global try-catch wrappers around the physics loop to ensure the script doesn't crash if a chunk is unloaded during an NPC's movement.