NpcRoleExpansion 1.0.0.jar
2 Mar 2026
CurseForge · Hytale mod
Adds extra NPCRole JSON building blocks to simplify authoring NPC behaviors via assets
Quick answer
NPC Role Expansion NpcRoleExpansion 1.0.0.jar targets Hytale. Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer. No required dependencies listed for this file.
Where it goes
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Put Hytale mods on the world host or dedicated server. Singleplayer runs a local server too; Hytale does not use separate client mods.
NpcRoleExpansion 1.0.0.jar. Change the file and its required mods may change too.
This file does not list any required mods. Do not add a library just because a different file uses it.
This file does not list any required or optional project dependencies. Check the creator notes before changing an existing world.
Before you install it
Built for NPC Role Expansion NpcRoleExpansion 1.0.0.jar. Pick another file and the loader, install side or required mods may change.
Use NpcRoleExpansion 1.0.0.jar. It targets Hytale; another release may target a different game build or dependency set.
This file does not list any required mods. Do not add a library just because a different file uses it.
Do not install it as a separate client mod. Enable it on the world host—the local server in singleplayer or the dedicated server in multiplayer.
Use the “Get this file” button beside NpcRoleExpansion 1.0.0.jar. It opens that exact file at the source.
About this project
NpcRoleExpansion is a small library mod that adds extra NPCRole JSON building blocks (BodyMotions / MotionControllers) to make custom NPC behaviors easier to author using JSON.
The goal is to provide reusable, well-documented behavior pieces that plug into the vanilla NPCRole system via Type strings — so role authors can get advanced movement and behavior with less JSON and less custom glue logic.
This project will keep expanding over time as new useful NPC behaviors come up.
If you have ideas or missing vanilla behaviors you’d like to see as JSON-friendly blocks, feel free to suggest them!
FlyFreeLookA flight controller that extends vanilla Fly and supports moving independently from look direction.
MotionControllerFly and uses the same JSON fields as vanilla "fly".Type id: FlyFreeLook
MaintainDistanceFlyRingA body motion that behaves like a MaintainDistance-style motion, but designed for flying NPCs.
What it does
Why it’s useful
BodyMotionFindBase flow), so when a target is present it can keep pursuing while avoiding obstacles.Requirements
Feature.AnyPosition (an upstream sensor must provide a position each tick).MotionControllerFly-compatible.Type id: MaintainDistanceFlyRing
Below is a minimal-style snippet showing how these blocks are typically used inside a role:
FlyFreeLook as the motion controllerWatch as head motion (look at the target)MaintainDistanceFlyRing as the body motion (keep spacing + orbit + obstacle handling)Note: This snippet assumes a
Targetsensor (or any upstream provider) is supplying a target position.
{
"MotionControllerList": [
{
"Type": "FlyFreeLook",
"MaxHorizontalSpeed": 20,
"MaxSinkSpeed": 10,
"MaxClimbSpeed": 12,
"MinAirSpeed": 0,
"Acceleration": 7,
"Deceleration": 15,
"MaxRollAngle": 180,
"MaxTurnSpeed": 360,
"AutoLevel": true,
"MinHeightOverGround": 0,
"MaxHeightOverGround": 64,
"DesiredAltitudeWeight": 0.35
}
],
"HeadMotion": {
"Type": "Watch"
},
"BodyMotion": {
"Type": "MaintainDistanceFlyRing",
"DesiredDistanceRangeXZ": [2.5, 2.5],
"YOffsets": [1.0, 3.0],
"YOffsetChangeIntervalRange": [2.0, 4.0],
"MoveThreshold": 0.35,
"LockBehindTarget": false
}
}
Want less twitchy orbit corrections? Increase MoveThreshold.
Want smoother braking as it reaches the ring point? Increase MoveTowardsSlowdownThreshold.
Want it to prefer staying behind a moving target? Use:
LockBehindTarget: trueBehindBlend around 0.1–0.35MinTargetSpeed to avoid random flips when the target is barely moving.MaintainDistanceFlyRing Key Options (quick reference)Required:
DesiredDistanceRangeXZ: [min, max]YOffsets: [ ... ] (if empty, defaults to [3.0])Common tuning:
TargetDistanceFactor (default 0.5)MoveThreshold (default 0.7)RelativeForwardsSpeed (default 1.0)RelativeBackwardsSpeed (default 0.6)MoveTowardsSlowdownThreshold (default 12.0)HardStop (default false)Behind anchoring:
LockBehindTarget (default true)BehindBlend (default 0.25)MinTargetSpeed (default 0.15)NpcRoleExpansion is meant to grow as a toolbox of reusable NPCRole behaviors. If you have a behavior you frequently re-create in JSON (or something vanilla is missing), suggest it and I’ll consider adding it as a new builder.
Project description from CurseForge.
Recent files
2 Mar 2026
Looking for an older file? The official CurseForge project page is in Resources.