NPC Documentation
Official documentation for NPC creation and configuration.
List of Builders
| Name | Type | Description | |
|---|---|---|---|
| 1 | Abstract | Role | Generic role for NPC |
| 2 | ActionList | ActionList | An array of actions to be executed |
| 3 | AddToHostileTargetMemory | Action | Adds the passed target from the sensor to the hostile target memory |
| 4 | AdjustPosition | Sensor | Perform adjustments to the wrapped sensor's returned position |
| 5 | Age | Sensor | Triggers when the age of the NPC falls between a certain range |
| 6 | Aim | HeadMotion | Aim at target |
| 7 | AimCharge | BodyMotion | Aim the NPC at a target position for performing a charge based on aiming information and ensure that the charge is possible before it's executed. |
| 8 | Alarm | Sensor | Check the state of a named alarm |
| 9 | Altitude | IEntityFilter | Matches targets if they're within the defined range above the ground |
| 10 | And | Sensor | Logical AND of list of sensors |
| 11 | And | IEntityFilter | Logical AND of a list of filters |
| 12 | Animation | Sensor | Check if a given animation is being played |
| 13 | Any | Sensor | Return always true |
| 14 | Appearance | Action | Set model displayed for NPC |
| 15 | ApplyEntityEffect | Action | Applies an entity effect to the target or self |
| 16 | Attack | Action | Starts attack |
| 17 | Attitude | ISensorEntityPrioritiser | Prioritises return entities by attitude |
| 18 | Attitude | IEntityFilter | Matches the attitude towards the locked target |
| 19 | Beacon | Action | Send Beacon Message |
| 20 | Beacon | Sensor | Checks to see if any messages have been broadcasted by nearby NPCs |
| 21 | Block | Sensor | Checks for one of a set of blocks in the nearby area |
| 22 | BlockChange | Sensor | Matches when a block from a blockset within a certain range is changed or interacted with |
| 23 | BlockType | Sensor | Checks if the block at the given position matches the provided block set |
| 24 | CanInteract | Sensor | Checks whether or not the player being iterated by the interaction instruction can interact with this NPC |
| 25 | CanPlaceBlock | Sensor | Test if the currently set block can be placed at the relative position given direction and offset |
| 26 | Combat | IEntityFilter | Check the target's combat state |
| 27 | CombatAbility | Action | Starts the combat ability selected by the combat action evaluator. |
| 28 | CombatActionEvaluator | Sensor | A sensor which handles funnelling information to actions and motions from the combat action evaluator. |
| 29 | CombatTargets | ISensorEntityCollector | A collector which processes matched friendly and hostile targets and adds them to the NPC's short-term combat memory. |
| 30 | CompleteTask | Action | Complete a task |
| 31 | Count | Sensor | Check if there is a certain number of NPCs or players within a specific range |
| 32 | Crouch | Action | Set NPC crouching state |
| 33 | Damage | Sensor | Test if NPC suffered damage |
| 34 | DelayDespawn | Action | Delay the despawning cycle for some amount of time |
| 35 | Despawn | Action | Trigger the NPC to despawn |
| 36 | Die | Action | Kill the NPC |
| 37 | DisplayName | Action | Set display name. |
| 38 | Dive | MotionController | Provide diving abilities for NPC |
| 39 | DropItem | Action | Drop an item |
| 40 | DroppedItem | Sensor | Triggers if a given item is within a certain range of the NPC. |
| 41 | EntityEvent | Sensor | Matches when an entity from a specific NPC group within a certain range is damaged, killed, or interacted with |
| 42 | Eval | Sensor | Evaluate javascript expression and test if true |
| 43 | Flag | Sensor | Test if a named flag is set or not |
| 44 | Flee | BodyMotion | Move away from target |
| 45 | Flock | BodyMotion | Flocking - WIP |
| 46 | Flock | IEntityFilter | Test for flock membership and related properties |
| 47 | FlockBeacon | Action | Send beacon message to flock |
| 48 | FlockCombatDamage | Sensor | Test if flock with NPC received combat damage |
| 49 | FlockLeader | Sensor | Test for the presence and provide position of the flock leader |
| 50 | FlockState | Action | Set state name for flock. |
| 51 | FlockTarget | Action | Set or clear locked target for flock. |
| 52 | Fly | MotionController | Flight motion controller |
| 53 | Generic | Role | Generic role for NPC |
| 54 | HasHostileTargetMemory | Sensor | Checks if there is currently a hostile target in the target memory. |
| 55 | HasInteracted | Sensor | Checks whether the currently iterated player in the interaction instruction has interacted with this NPC |
| 56 | HasTask | Sensor | Checks whether or not the player being iterated by the interaction instruction has any of the given tasks |
| 57 | HashMap | HashMap | List of motion controllers |
| 58 | HeightDifference | IEntityFilter | Matches entities within the given height range |
| 59 | IgnoreForAvoidance | Action | Set the target slot of an entity that should be ignored during avoidance |
| 60 | InAir | Sensor | Test if NPC is not on ground |
| 61 | InWater | Sensor | Check if NPC is currently in water |
| 62 | InflictedDamage | Sensor | Test if an individual or the flock it belongs to inflicted combat damage |
| 63 | InsideBlock | IEntityFilter | Matches if the entity is inside any of the blocks in the BlockSet |
| 64 | Instruction | Instruction | An instruction with Sensor, and Motions and Actions, or a list of nested instructions. |
| 65 | InteractionContext | Sensor | Checks whether the currently iterated player in the interaction instruction has interacted with this NPC in the given context |
| 66 | Inventory | Action | Add or remove items from inventory. |
| 67 | Inventory | IEntityFilter | Test various conditions relating to entity inventory |
| 68 | IsBackingAway | Sensor | Test if the NPC is currently backing away from something. |
| 69 | IsBusy | Sensor | Tests if an NPC is in one of the defined Busy States. |
| 70 | ItemInHand | IEntityFilter | Check if entity is holding an item |
| 71 | JoinFlock | Action | Join/build a flock with other entity |
| 72 | Kill | Sensor | Test if NPC made a kill |
| 73 | Land | BodyMotion | Try to land at the given position |
| 74 | Leash | Sensor | Triggers when the NPC is outside a specified range from the leash point |
| 75 | Leave | BodyMotion | Leave place |
| 76 | LeaveFlock | Action | Leave flock. |
| 77 | Light | Sensor | Check the light levels of the block an entity is standing on |
| 78 | LineOfSight | IEntityFilter | Matches if there is line of sight to the target |
| 79 | LockOnInteractionTarget | Action | Locks on to the currently iterated player in the interaction instruction |
| 80 | Log | Action | Log a message to console. |
| 81 | MaintainDistance | BodyMotion | Maintain distance from a given position |
| 82 | MakePath | Action | Constructs a transient path for the NPC based on a series of rotations and distances |
| 83 | MatchLook | BodyMotion | Make NPC body rotate to match look direction |
| 84 | Mob | Sensor | Test if entity matching specific attributes and filters is in range |
| 85 | ModelAttachment | Action | Set an attachment on the current NPC model |
| 86 | MotionController | Sensor | Test if specific motion controller is active. |
| 87 | Mount | Action | Enable the player to mount the entity |
| 88 | MovementState | IEntityFilter | Check if the entity is in the given movement state |
| 89 | NPCGroup | IEntityFilter | Returns whether the entity matches one of the provided NPCGroups |
| 90 | Nav | Sensor | Queries navigation state |
| 91 | Not | Sensor | Invert sensor test |
| 92 | Not | IEntityFilter | Invert filter test |
| 93 | Nothing | Action | Do nothing |
| 94 | Nothing | BodyMotion | Do nothing |
| 95 | Nothing | HeadMotion | Do nothing |
| 96 | Notify | Action | Directly notifies a target NPC with a beacon message |
| 97 | Observe | HeadMotion | Observe surroundings in various ways. |
| 98 | OnGround | Sensor | Test if NPC is on ground |
| 99 | OpenBarterShop | Action | Open the barter shop UI for the current player |
| 100 | OpenShop | Action | Open the shop UI for the current player |
| 101 | Or | Sensor | Logical OR of list of sensors |
| 102 | Or | IEntityFilter | Logical OR of a list of filters |
| 103 | OverrideAltitude | Action | Temporarily override the preferred altitude of a flying NPC |
| 104 | OverrideAttitude | Action | Override this NPCs attitude towards the provided target for a given duration |
| 105 | ParentState | Action | Set the main state of NPC from within a component |
| 106 | Path | Path | List of transient path points |
| 107 | Path | Sensor | Find a path based on various criteria |
| 108 | Path | BodyMotion | Walk along a path |
| 109 | PickUpItem | Action | Pick up an item |
| 110 | PlaceBlock | Action | Place a block (chosen by another action) at a position returned by a Sensor if close enough |
| 111 | PlayAnimation | Action | Play an animation |
| 112 | PlaySound | Action | Plays a sound to players within a specified range. |
| 113 | Player | Sensor | Test if player matching specific attributes and filters is in range |
| 114 | Random | Action | Execute a single random action from a list of weighted actions. |
| 115 | Random | Sensor | Alternates between returning true and false for specified random durations |
| 116 | Random | Instruction | Randomised list of weighted instructions. |
| 117 | ReadPosition | Sensor | Read a stored position with some conditions |
| 118 | RecomputePath | Action | Force recomputation of path finder solution |
| 119 | Reference | Instruction | Prioritized instruction list that can be referenced from elsewhere in the file |
| 120 | RelativeWaypointDefinition | RelativeWaypointDefinition | A simple path waypoint definition where each waypoint is relative to the previous |
| 121 | ReleaseTarget | Action | Clear locked target |
| 122 | Remove | Action | Erase the target entity from the world (no death animation). |
| 123 | ResetBlockSensors | Action | Resets a specific block sensor by name, or all block sensors |
| 124 | ResetInstructions | Action | Force reset instructionList |
| 125 | ResetPath | Action | Resets the current patrol path this NPC follows. |
| 126 | ResetSearchRays | Action | Resets a specific search ray sensor cached position by name, or all search ray sensors |
| 127 | Role | Action | Change the Role of the NPC |
| 128 | SearchRay | Sensor | Fire a ray at a specific angle to see if what it hits matches a given sought block |
| 129 | Seek | BodyMotion | Chase target |
| 130 | Self | Sensor | Test if the NPC itself matches a set of entity filters |
| 131 | Sequence | Action | List of actions. |
| 132 | Sequence | BodyMotion | (Looped)Sequence of motions |
| 133 | Sequence | HeadMotion | (Looped)Sequence of motions |
| 134 | SetAlarm | Action | Set a named alarm on the NPC |
| 135 | SetBlockToPlace | Action | Set the block type the NPC will place |
| 136 | SetFlag | Action | Set a named flag to a boolean value |
| 137 | SetInteractable | Action | Set whether the currently iterated player in the interaction instruction should be able to interact with this NPC |
| 138 | SetLeashPosition | Action | Sets the NPCs current position to the spawn/leash position |
| 139 | SetMarkedTarget | Action | Explicitly sets a marked target in a given slot. |
| 140 | SetStat | Action | Sets (or adds to) an entity stat on the NPC. |
| 141 | Spawn | Action | Spawn an NPC |
| 142 | SpawnParticles | Action | Spawn particle system visible within a given range with an offset relative to npc heading |
| 143 | SpotsMe | IEntityFilter | Checks if the entity can view the NPC in a given view sector or cone and without obstruction. |
| 144 | StandingOnBlock | IEntityFilter | Matches the block directly beneath the entity against a BlockSet |
| 145 | StartObjective | Action | Start the given objective for the currently iterated player in the interaction instruction |
| 146 | Stat | IEntityFilter | Match stat values of the entity |
| 147 | State | Action | Set state of NPC |
| 148 | State | Sensor | Test for a specific state |
| 149 | StateTransition | StateTransition | An entry containing a list of actions to execute when moving from one state to another |
| 150 | StateTransitionController | StateTransitionController | A list of state transitions |
| 151 | StateTransitionEdges | StateTransitionEdges | Sets of from and to states defining state transitions |
| 152 | StorePosition | Action | Store the position from the attached sensor |
| 153 | Switch | Sensor | Check if a computed boolean is true |
| 154 | TakeOff | BodyMotion | Switch NPC from walking to flying motion controller |
| 155 | Target | Sensor | Test if given target matches a series of criteria and optional entity filters |
| 156 | Teleport | BodyMotion | Teleport NPC to a position given by a sensor |
| 157 | Test | Action | Test action to exercise attribute evaluation (DO NOT USE) |
| 158 | TestProbe | BodyMotion | Debugging - Test probing |
| 159 | Time | Sensor | Check if the day/year time is within some specified time. |
| 160 | Timeout | Action | Delay an action, or insert a delay in a sequence of actions |
| 161 | Timer | Sensor | Tests if a timer exists and the value is within a certain range |
| 162 | Timer | BodyMotion | Execute a Motion for a specific maximum time |
| 163 | Timer | HeadMotion | Execute a Motion for a specific maximum time |
| 164 | TimerContinue | Action | Continue a timer |
| 165 | TimerModify | Action | Modify values of a timer |
| 166 | TimerPause | Action | Pause a timer |
| 167 | TimerRestart | Action | Restart a timer |
| 168 | TimerStart | Action | Start a timer |
| 169 | TimerStop | Action | Stop a timer |
| 170 | ToggleStateEvaluator | Action | Enable or disable the NPC's state evaluator |
| 171 | TriggerSpawnBeacon | Action | Trigger the nearest spawn beacon matching the configuration id |
| 172 | TriggerSpawners | Action | Trigger all, or up to a certain number of manual spawn markers in a radius around the NPC |
| 173 | ValueProviderWrapper | Sensor | Wraps a sensor and passes down some additional parameter overrides pulled from the value store |
| 174 | ValueToParameterMapping | ValueToParameterMapping | An entry containing a list of actions to execute when moving from one state to another |
| 175 | Variant | Role | Create a variant from an existing NPC JSON file |
| 176 | ViewSector | IEntityFilter | Matches entities within the given view sector |
| 177 | Walk | MotionController | Provide walk on ground abilities for NPC |
| 178 | Wander | BodyMotion | Random movement |
| 179 | WanderInCircle | BodyMotion | Random movement in circle around spawn position |
| 180 | WanderInRect | BodyMotion | Random movement in rectangle around spawn position |
| 181 | Watch | HeadMotion | Rotate to target |
| 182 | Weather | Sensor | Matches the current weather at the NPCs position against a set of weather globs |
| 183 | WeightedAction | WeightedAction | A wrapped and weighted action intended to be used for Random action lists. |
List of Roles
Abstract: Role (Stable)
Generic role for NPC with a core planner and list of Motion controllers.
Attributes
- MaxHealth (Stable)
- Max health
- Type:
Integer, Required, Computable - Constraint: Value must be greater than 0
- Debug (WorkInProgress)
- Debugging flags
- Type:
String, Optional (Default: )
- Appearance (Stable)
- Model to use for rendering
- Type:
Asset, Required, Computable
- DisplayNames (Stable)
- List of possible display names to choose from
- Type:
StringList, Optional (Default: null) - Constraint: Strings in array must not be empty
- NameTranslationKey (Stable)
- The translation key for this NPC's name
- Type:
String, Required, Computable - Constraint: String must be not empty
- OpaqueBlockSet (Stable)
- Blocks blocking line of sight
- Type:
Asset, Optional (Default: Opaque)
- Inertia (Experimental)
- Inertia
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0.1
- KnockbackScale (Stable)
- Scale factor for knockback. Values greater 1 increase knockback. Smaller values decrease it.
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- InventorySize (Stable)
- Number of available inventory slots
- Type:
Integer, Optional (Default: 0) - Constraint: Value must be greater or equal than 0 and less or equal than 36
- HotbarSize (Stable)
- Number of available hotbar slots
- Type:
Integer, Optional (Default: 3) - Constraint: Value must be greater or equal than 3 and less or equal than 8
- OffHandSlots (Stable)
- The number of slots for off-hand items
- Type:
Integer, Optional (Default: 0) - Constraint: Value must be greater or equal than 0 and less or equal than 4
- HotbarItems (Stable)
- Hotbar items (e.g. primary weapon, secondary weapon, etc)
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: Item
- OffHandItems (Stable)
- Off-hand items (e.g. shields, torches, etc)
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: Item
- PossibleInventoryItems (Stable)
- A droplist defining the possible items the NPCs inventory could contain
- Type:
Asset, Optional (Default: null), Computable
- DefaultOffHandSlot (Stable)
- The default off-hand item slot (-1 is empty)
- Type:
Integer, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 4
- Armor (WorkInProgress)
- Armor items
- Type:
AssetArray, Optional (Default: null), Element Type: Item
- DropList (Stable)
- Drop list to spawn when killed
- Type:
Asset, Optional (Default: null), Computable
- StartState (Stable)
- Initial state
- Type:
String, Optional (Default: start) - Constraint: String must be not empty
- DefaultSubState (Stable)
- The default sub state to reference when transitioning to a main state without a specified sub state
- Type:
String, Optional (Default: Default) - Constraint: String must be not empty
- CollisionDistance (Stable)
- Collision lookahead
- Type:
Double, Optional (Default: 5.0) - Constraint: Value must be greater than 0
- CollisionForceFalloff (Experimental)
- Falloff rate for collision force
- Type:
Double, Optional (Default: 2.0) - Constraint: Value must be greater than 0
- CollisionRadius (Experimental)
- Collision radius override
- Type:
Double, Optional (Default: -1.0)
- CollisionViewAngle (Experimental)
- Collision detection view cone
- Type:
Double, Optional (Default: 320.0) - Constraint: Value must be greater or equal than 0 and less or equal than 360
- SeparationDistance (Experimental)
- Desired separation distance
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- SeparationWeight (Experimental)
- Blend factor separation
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- SeparationDistanceTarget (Experimental)
- Desired separation distance when close to target
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- SeparationNearRadiusTarget (Experimental)
- Distance when using SeparationDistanceTarget
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- SeparationFarRadiusTarget (Experimental)
- Use normal separation distance from further than this distance
- Type:
Double, Optional (Default: 5.0), Computable - Constraint: Value must be greater than 0
- ApplyAvoidance (Experimental)
- Apply avoidance steering force
- Type:
Boolean, Optional (Default: false)
- ApplySeparation (Experimental)
- Apply separation steering force
- Type:
Boolean, Optional (Default: false), Computable
- AvoidanceMode (Experimental)
- Abilities to use for avoidance
- Type:
Flag, Optional (Default: Any) - Flag Values:
Evade: Only evadeSlowdown: Only slow down NPCAny: Any avoidance allowed
- EntityAvoidanceStrength (Experimental)
- Blending factor avoidance
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0
- StayInEnvironment (Experimental)
- Stay in spawning environment
- Type:
Boolean, Optional (Default: false)
- AllowedEnvironments (Experimental)
- Allowed environment to walk in
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- FlockSpawnTypes (WorkInProgress)
- Types of NPC this flock should consist off
- Type:
Array, Optional (Default: null), Computable, Element Type: String - Constraint: Strings in array must not be empty
- FlockSpawnTypesRandom (WorkInProgress)
- Create a randomized flock if true else spawn in order of FlockSpawnTypes
- Type:
Boolean, Optional (Default: false), Computable
- FlockAllowedNPC (Experimental)
- List of NPCs allowed in flock
- Type:
Array, Optional (Default: null), Computable, Element Type: String - Constraint: Strings in array must not be empty
- FlockCanLead (Experimental)
- This NPC can be flock leader
- Type:
Boolean, Optional (Default: false), Computable
- FlockWeightAlignment (Experimental)
- Blending flock alignment
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0
- FlockWeightSeparation (Experimental)
- Blending flock separation
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0
- FlockWeightCohesion (Experimental)
- Blending flock cohesion
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0
- FlockInfluenceRange (Experimental)
- Influence radius flock forces
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- DisableDamageFlock (WorkInProgress)
- If true disables combat damage from flock members
- Type:
Boolean, Optional (Default: true)
- DisableDamageGroups (WorkInProgress)
- Members in this list of group won't cause damage
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: TagSet
- BusyStates (Stable)
- States during which this NPC is busy and can't be interacted with
- Type:
StringList, Required - Constraint: String must be a valid state string. A main state must be included before the period (e.g. Main.Test). State strings consist of a main state and a sub state (e.g. Main.Test). If nested within a substate, the main state may be omitted (e.g. .Test) when referencing.
- CombatConfig (Stable)
- The combat configuration providing optional combat action evaluator
- Type:
CodecObject, Optional (Default: null)
- Invulnerable (Stable)
- Makes NPC ignore damage
- Type:
Boolean, Optional (Default: false), Computable
- BreathesInAir (WorkInProgress)
- Can breath in air
- Type:
Boolean, Optional (Default: true), Computable
- BreathesInWater (WorkInProgress)
- Can breath in fluid/water
- Type:
Boolean, Optional (Default: false), Computable
- PickupDropOnDeath (Stable)
- Drop last picked item on death
- Type:
Boolean, Optional (Default: false)
- DeathAnimationTime (Experimental)
- How long to let the death animation play before removing
- Type:
Double, Optional (Default: 5.0) - Constraint: Value must be greater or equal than 0
- DeathInteraction (Experimental)
- Interaction to run on death
- Type:
Asset, Optional (Default: null), Computable
- DespawnAnimationTime (Experimental)
- How long to let the despawn animation play before removing
- Type:
Double, Optional (Default: 0.800000011920929) - Constraint: Value must be greater or equal than 0
- SpawnParticles (Experimental)
- Particle system when spawning
- Type:
String, Optional (Default: null)
- SpawnParticlesOffset (Experimental)
- Displacement from foot point to spawn relative to NPC heading
- Type:
Array, Optional (Default: null), Element Type: Double
- SpawnViewDistance (Experimental)
- View distance for spawn particle
- Type:
Double, Optional (Default: 75.0) - Constraint: Value must be greater than 0
- DefaultPlayerAttitude (Stable)
- The default attitude of this NPC towards players
- Type:
Flag, Optional (Default: HOSTILE), Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
- DefaultNPCAttitude (Stable)
- The default attitude of this NPC towards other NPCs
- Type:
Flag, Optional (Default: NEUTRAL), Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
- AttitudeGroup (Stable)
- The attitude group towards other NPCs this NPC belongs to (often species related)
- Type:
Asset, Optional (Default: null), Computable
- ItemAttitudeGroup (Stable)
- This NPC's item attitudes
- Type:
Asset, Optional (Default: null), Computable
- CorpseStaysInFlock (Stable)
- Whether the NPC should stay in the flock until corpse removal or be removed at the moment of death
- Type:
Boolean, Optional (Default: false)
- OverrideHeadPitchAngle (Experimental)
- Whether to override the head pitch angle range
- Type:
Boolean, Optional (Default: true), Computable
- HeadPitchAngleRange (Experimental)
- Head rotation pitch range to be used instead of model camera settings
- Type:
Array, Optional (Default: [-89.0, 89.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than -90, less or equal than 90and in weakly ascending order
- MotionControllerList (Stable)
- Motion controllers
- Type:
ObjectRef, Required, Object Type: HashMap
- Instructions (WorkInProgress)
- List of instructions
- Type:
Array, Optional (Default: null), Element Type: Instruction
- InteractionInstruction (Stable)
- An instruction designed to evaluate and set which players can interact with an NPC, along with setting correct states upon interaction
- Type:
ObjectRef, Optional (Default: null), Object Type: Instruction
- DeathInstruction (Stable)
- An instruction which will run only when the NPC is dead until they are removed
- Type:
ObjectRef, Optional (Default: null), Object Type: Instruction
- StateTransitions (Stable)
- A set of state transitions and the actions that will be executed during them
- Type:
ObjectRef, Optional (Default: null), Object Type: StateTransitionController
- StateEvaluator (Stable)
- A state evaluator
- Type:
CodecObject, Optional (Default: null)
- InitialMotionController (Stable)
- The initial motion controller to set. If omitted and there are multiple, one will be chosen at random.
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- InteractionVars (Stable)
- Interaction vars to be used in interactions.
- Type:
CodecObject, Optional (Default: null)
- IsMemory (Stable)
- Used to define if the NPC has a Memory to record.
- Type:
Boolean, Optional (Default: false), Computable
- MemoriesCategory (Stable)
- Category to put the NPC in, as part of the Memories Plugin
- Type:
String, Optional (Default: Other), Computable - Constraint: String value must be either null or not empty
- MemoriesNameOverride (Stable)
- Overrides the Memory name when set.
- Type:
String, Optional (Default: ), Computable
- SpawnLockTime (Stable)
- How long the NPC should be locked and unable to perform behavior when first spawned
- Type:
Double, Optional (Default: 1.5), Computable - Constraint: Value must be greater or equal than 0
Constraints
- At least one of BreathesInAir, BreathesInWater must be true
Generic: Role (Stable)
Generic role for NPC with a core planner and list of Motion controllers.
Attributes
- MaxHealth (Stable)
- Max health
- Type:
Integer, Required, Computable - Constraint: Value must be greater than 0
- Debug (WorkInProgress)
- Debugging flags
- Type:
String, Optional (Default: )
- Appearance (Stable)
- Model to use for rendering
- Type:
Asset, Required, Computable
- DisplayNames (Stable)
- List of possible display names to choose from
- Type:
StringList, Optional (Default: null) - Constraint: Strings in array must not be empty
- NameTranslationKey (Stable)
- The translation key for this NPC's name
- Type:
String, Required, Computable - Constraint: String must be not empty
- OpaqueBlockSet (Stable)
- Blocks blocking line of sight
- Type:
Asset, Optional (Default: Opaque)
- Inertia (Experimental)
- Inertia
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0.1
- KnockbackScale (Stable)
- Scale factor for knockback. Values greater 1 increase knockback. Smaller values decrease it.
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- InventorySize (Stable)
- Number of available inventory slots
- Type:
Integer, Optional (Default: 0) - Constraint: Value must be greater or equal than 0 and less or equal than 36
- HotbarSize (Stable)
- Number of available hotbar slots
- Type:
Integer, Optional (Default: 3) - Constraint: Value must be greater or equal than 3 and less or equal than 8
- OffHandSlots (Stable)
- The number of slots for off-hand items
- Type:
Integer, Optional (Default: 0) - Constraint: Value must be greater or equal than 0 and less or equal than 4
- HotbarItems (Stable)
- Hotbar items (e.g. primary weapon, secondary weapon, etc)
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: Item
- OffHandItems (Stable)
- Off-hand items (e.g. shields, torches, etc)
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: Item
- PossibleInventoryItems (Stable)
- A droplist defining the possible items the NPCs inventory could contain
- Type:
Asset, Optional (Default: null), Computable
- DefaultOffHandSlot (Stable)
- The default off-hand item slot (-1 is empty)
- Type:
Integer, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 4
- Armor (WorkInProgress)
- Armor items
- Type:
AssetArray, Optional (Default: null), Element Type: Item
- DropList (Stable)
- Drop list to spawn when killed
- Type:
Asset, Optional (Default: null), Computable
- StartState (Stable)
- Initial state
- Type:
String, Optional (Default: start) - Constraint: String must be not empty
- DefaultSubState (Stable)
- The default sub state to reference when transitioning to a main state without a specified sub state
- Type:
String, Optional (Default: Default) - Constraint: String must be not empty
- CollisionDistance (Stable)
- Collision lookahead
- Type:
Double, Optional (Default: 5.0) - Constraint: Value must be greater than 0
- CollisionForceFalloff (Experimental)
- Falloff rate for collision force
- Type:
Double, Optional (Default: 2.0) - Constraint: Value must be greater than 0
- CollisionRadius (Experimental)
- Collision radius override
- Type:
Double, Optional (Default: -1.0)
- CollisionViewAngle (Experimental)
- Collision detection view cone
- Type:
Double, Optional (Default: 320.0) - Constraint: Value must be greater or equal than 0 and less or equal than 360
- SeparationDistance (Experimental)
- Desired separation distance
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- SeparationWeight (Experimental)
- Blend factor separation
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- SeparationDistanceTarget (Experimental)
- Desired separation distance when close to target
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- SeparationNearRadiusTarget (Experimental)
- Distance when using SeparationDistanceTarget
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- SeparationFarRadiusTarget (Experimental)
- Use normal separation distance from further than this distance
- Type:
Double, Optional (Default: 5.0), Computable - Constraint: Value must be greater than 0
- ApplyAvoidance (Experimental)
- Apply avoidance steering force
- Type:
Boolean, Optional (Default: false)
- ApplySeparation (Experimental)
- Apply separation steering force
- Type:
Boolean, Optional (Default: false), Computable
- AvoidanceMode (Experimental)
- Abilities to use for avoidance
- Type:
Flag, Optional (Default: Any) - Flag Values:
Evade: Only evadeSlowdown: Only slow down NPCAny: Any avoidance allowed
- EntityAvoidanceStrength (Experimental)
- Blending factor avoidance
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0
- StayInEnvironment (Experimental)
- Stay in spawning environment
- Type:
Boolean, Optional (Default: false)
- AllowedEnvironments (Experimental)
- Allowed environment to walk in
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- FlockSpawnTypes (WorkInProgress)
- Types of NPC this flock should consist off
- Type:
Array, Optional (Default: null), Computable, Element Type: String - Constraint: Strings in array must not be empty
- FlockSpawnTypesRandom (WorkInProgress)
- Create a randomized flock if true else spawn in order of FlockSpawnTypes
- Type:
Boolean, Optional (Default: false), Computable
- FlockAllowedNPC (Experimental)
- List of NPCs allowed in flock
- Type:
Array, Optional (Default: null), Computable, Element Type: String - Constraint: Strings in array must not be empty
- FlockCanLead (Experimental)
- This NPC can be flock leader
- Type:
Boolean, Optional (Default: false), Computable
- FlockWeightAlignment (Experimental)
- Blending flock alignment
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0
- FlockWeightSeparation (Experimental)
- Blending flock separation
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0
- FlockWeightCohesion (Experimental)
- Blending flock cohesion
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0
- FlockInfluenceRange (Experimental)
- Influence radius flock forces
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- DisableDamageFlock (WorkInProgress)
- If true disables combat damage from flock members
- Type:
Boolean, Optional (Default: true)
- DisableDamageGroups (WorkInProgress)
- Members in this list of group won't cause damage
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: TagSet
- BusyStates (Stable)
- States during which this NPC is busy and can't be interacted with
- Type:
StringList, Required - Constraint: String must be a valid state string. A main state must be included before the period (e.g. Main.Test). State strings consist of a main state and a sub state (e.g. Main.Test). If nested within a substate, the main state may be omitted (e.g. .Test) when referencing.
- CombatConfig (Stable)
- The combat configuration providing optional combat action evaluator
- Type:
CodecObject, Optional (Default: null)
- Invulnerable (Stable)
- Makes NPC ignore damage
- Type:
Boolean, Optional (Default: false), Computable
- BreathesInAir (WorkInProgress)
- Can breath in air
- Type:
Boolean, Optional (Default: true), Computable
- BreathesInWater (WorkInProgress)
- Can breath in fluid/water
- Type:
Boolean, Optional (Default: false), Computable
- PickupDropOnDeath (Stable)
- Drop last picked item on death
- Type:
Boolean, Optional (Default: false)
- DeathAnimationTime (Experimental)
- How long to let the death animation play before removing
- Type:
Double, Optional (Default: 5.0) - Constraint: Value must be greater or equal than 0
- DeathInteraction (Experimental)
- Interaction to run on death
- Type:
Asset, Optional (Default: null), Computable
- DespawnAnimationTime (Experimental)
- How long to let the despawn animation play before removing
- Type:
Double, Optional (Default: 0.800000011920929) - Constraint: Value must be greater or equal than 0
- SpawnParticles (Experimental)
- Particle system when spawning
- Type:
String, Optional (Default: null)
- SpawnParticlesOffset (Experimental)
- Displacement from foot point to spawn relative to NPC heading
- Type:
Array, Optional (Default: null), Element Type: Double
- SpawnViewDistance (Experimental)
- View distance for spawn particle
- Type:
Double, Optional (Default: 75.0) - Constraint: Value must be greater than 0
- DefaultPlayerAttitude (Stable)
- The default attitude of this NPC towards players
- Type:
Flag, Optional (Default: HOSTILE), Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
- DefaultNPCAttitude (Stable)
- The default attitude of this NPC towards other NPCs
- Type:
Flag, Optional (Default: NEUTRAL), Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
- AttitudeGroup (Stable)
- The attitude group towards other NPCs this NPC belongs to (often species related)
- Type:
Asset, Optional (Default: null), Computable
- ItemAttitudeGroup (Stable)
- This NPC's item attitudes
- Type:
Asset, Optional (Default: null), Computable
- CorpseStaysInFlock (Stable)
- Whether the NPC should stay in the flock until corpse removal or be removed at the moment of death
- Type:
Boolean, Optional (Default: false)
- OverrideHeadPitchAngle (Experimental)
- Whether to override the head pitch angle range
- Type:
Boolean, Optional (Default: true), Computable
- HeadPitchAngleRange (Experimental)
- Head rotation pitch range to be used instead of model camera settings
- Type:
Array, Optional (Default: [-89.0, 89.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than -90, less or equal than 90and in weakly ascending order
- MotionControllerList (Stable)
- Motion controllers
- Type:
ObjectRef, Required, Object Type: HashMap
- Instructions (WorkInProgress)
- List of instructions
- Type:
Array, Optional (Default: null), Element Type: Instruction
- InteractionInstruction (Stable)
- An instruction designed to evaluate and set which players can interact with an NPC, along with setting correct states upon interaction
- Type:
ObjectRef, Optional (Default: null), Object Type: Instruction
- DeathInstruction (Stable)
- An instruction which will run only when the NPC is dead until they are removed
- Type:
ObjectRef, Optional (Default: null), Object Type: Instruction
- StateTransitions (Stable)
- A set of state transitions and the actions that will be executed during them
- Type:
ObjectRef, Optional (Default: null), Object Type: StateTransitionController
- StateEvaluator (Stable)
- A state evaluator
- Type:
CodecObject, Optional (Default: null)
- InitialMotionController (Stable)
- The initial motion controller to set. If omitted and there are multiple, one will be chosen at random.
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- InteractionVars (Stable)
- Interaction vars to be used in interactions.
- Type:
CodecObject, Optional (Default: null)
- IsMemory (Stable)
- Used to define if the NPC has a Memory to record.
- Type:
Boolean, Optional (Default: false), Computable
- MemoriesCategory (Stable)
- Category to put the NPC in, as part of the Memories Plugin
- Type:
String, Optional (Default: Other), Computable - Constraint: String value must be either null or not empty
- MemoriesNameOverride (Stable)
- Overrides the Memory name when set.
- Type:
String, Optional (Default: ), Computable
- SpawnLockTime (Stable)
- How long the NPC should be locked and unable to perform behavior when first spawned
- Type:
Double, Optional (Default: 1.5), Computable - Constraint: Value must be greater or equal than 0
Constraints
- At least one of BreathesInAir, BreathesInWater must be true
Variant: Role (WorkInProgress)
Create a variant from an existing NPC JSON file
List of Motion Controllers
Dive: MotionController (WorkInProgress)
Provide diving abilities for NPC
Attributes
- Type (Stable)
- Type field
- Type:
String, Required - Constraint: String must be not empty
- EpsilonSpeed (Experimental)
- Minimum speed considered non 0
- Type:
Double, Optional (Default: 1.0E-5) - Constraint: Value must be greater than 0
- EpsilonAngle (Experimental)
- Minimum angle difference considered non 0 in degrees
- Type:
Double, Optional (Default: 3.0) - Constraint: Value must be greater than 0
- MaxHeadRotationSpeed (Stable)
- Maximum rotation speed of the head in degrees
- Type:
Double, Optional (Default: 360.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- ForceVelocityDamping (Experimental)
- Damping of external force/velocity over time
- Type:
Double, Optional (Default: 0.5) - Constraint: Value must be greater than 0
- RunThreshold (WorkInProgress)
- Relative threshold when running animation should be used
- Type:
Double, Optional (Default: 0.7), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- RunThresholdRange (WorkInProgress)
- Relative threshold range for switching between running/walking
- Type:
Double, Optional (Default: 0.15) - Constraint: Value must be greater or equal than 0 and less or equal than 1
- MaxSwimSpeed (Stable)
- Maximum horizontal speed
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- MaxDiveSpeed (Stable)
- Maximum vertical speed
- Type:
Double, Optional (Default: 8.0) - Constraint: Value must be greater than 0
- MaxFallSpeed (Stable)
- Terminal velocity falling in air
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- MaxSinkSpeed (Stable)
- Terminal velocity sinking in water
- Type:
Double, Optional (Default: 4.0) - Constraint: Value must be greater than 0
- Gravity (Stable)
- Gravity
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- Acceleration (Stable)
- Acceleration
- Type:
Double, Optional (Default: 3.0) - Constraint: Value must be greater than 0
- MaxRotationSpeed (Stable)
- Maximum rotational speed in degrees
- Type:
Double, Optional (Default: 360.0) - Constraint: Value must be greater than 0
- MaxSwimTurnAngle (WorkInProgress)
- Maximum angle NPC can walk without explicit turning in degrees
- Type:
Double, Optional (Default: 90.0) - Constraint: Value must be greater or equal than 0 and less or equal than 180
- FastSwimThreshold (WorkInProgress)
- Relative threshold when fast swimming animation should be used
- Type:
Double, Optional (Default: 0.6) - Constraint: Value must be greater or equal than 0 and less or equal than 1
- SwimDepth (WorkInProgress)
- 0 is at eye height, -1 is bottom of bounding box, +1 top of bounding box. other values between -1 and +1 scale linear
- Type:
Double, Optional (Default: 0.4) - Constraint: Value must be greater or equal than -1 and less or equal than 1
- SinkRatio (WorkInProgress)
- Relative sink or climb speed while wandering
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0
- MinDiveDepth (Unknown)
- null
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- MaxDiveDepth (WorkInProgress)
- Maximum dive depth below surface desired
- Type:
Double, Optional (Default: 1.7976931348623157E308) - Constraint: Value must be greater than 0
- MinDepthAboveGround (WorkInProgress)
- Minimum distance from ground desired
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0
- MinDepthBelowSurface (WorkInProgress)
- Minimum distance from water surface desired
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0
- MinWaterDepth (Unknown)
- null
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0
- MaxWaterDepth (Unknown)
- null
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- DesiredDepthWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast.
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0 and less or equal than 1
Constraints
- MinSwimSpeed must be less or equal than MaxSwimSpeed
Fly: MotionController (WorkInProgress)
Flight motion controller
Attributes
- Type (Stable)
- Type field
- Type:
String, Required - Constraint: String must be not empty
- EpsilonSpeed (Experimental)
- Minimum speed considered non 0
- Type:
Double, Optional (Default: 1.0E-5) - Constraint: Value must be greater than 0
- EpsilonAngle (Experimental)
- Minimum angle difference considered non 0 in degrees
- Type:
Double, Optional (Default: 3.0) - Constraint: Value must be greater than 0
- MaxHeadRotationSpeed (Stable)
- Maximum rotation speed of the head in degrees
- Type:
Double, Optional (Default: 360.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- ForceVelocityDamping (Experimental)
- Damping of external force/velocity over time
- Type:
Double, Optional (Default: 0.5) - Constraint: Value must be greater than 0
- RunThreshold (WorkInProgress)
- Relative threshold when running animation should be used
- Type:
Double, Optional (Default: 0.7), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- RunThresholdRange (WorkInProgress)
- Relative threshold range for switching between running/walking
- Type:
Double, Optional (Default: 0.15) - Constraint: Value must be greater or equal than 0 and less or equal than 1
- MinAirSpeed (WorkInProgress)
- Minimum in air speed
- Type:
Double, Optional (Default: 0.1) - Constraint: Value must be greater or equal than 0
- MaxHorizontalSpeed (Stable)
- Maximum horizontal speed
- Type:
Double, Optional (Default: 8.0), Computable - Constraint: Value must be greater than 0
- MaxClimbSpeed (Stable)
- Maximum climbing speed
- Type:
Double, Optional (Default: 6.0) - Constraint: Value must be greater than 0
- MaxSinkSpeed (Stable)
- Maximum sink/drop speed
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- MaxFallSpeed (Stable)
- Maximum fall speed
- Type:
Double, Optional (Default: 40.0) - Constraint: Value must be greater than 0
- MaxSinkSpeedFluid (Stable)
- Maximum sink/fall speed in fluids
- Type:
Double, Optional (Default: 4.0) - Constraint: Value must be greater or equal than 0
- MaxClimbAngle (Stable)
- Maximum climb angle
- Type:
Double, Optional (Default: 45.0) - Constraint: Value must be greater than 0
- MaxSinkAngle (Stable)
- Maximum sink angle
- Type:
Double, Optional (Default: 85.0) - Constraint: Value must be greater than 0
- Acceleration (Stable)
- Maximum Acceleration
- Type:
Double, Optional (Default: 4.0) - Constraint: Value must be greater than 0
- Deceleration (Stable)
- Maximum deceleration
- Type:
Double, Optional (Default: 4.0) - Constraint: Value must be greater than 0
- Gravity (Stable)
- Gravity
- Type:
Double, Optional (Default: 40.0) - Constraint: Value must be greater than 0
- MaxTurnSpeed (Stable)
- Maximum turn speed in degrees per second
- Type:
Double, Optional (Default: 180.0) - Constraint: Value must be greater than 0
- MaxRollAngle (Stable)
- Maximum roll angle in degrees
- Type:
Double, Optional (Default: 45.0) - Constraint: Value must be greater than 0
- MaxRollSpeed (Stable)
- Maximum roll speed in degrees per second
- Type:
Double, Optional (Default: 180.0) - Constraint: Value must be greater than 0
- RollDamping (Stable)
- Roll damping
- Type:
Double, Optional (Default: 0.8999999761581421) - Constraint: Value must be greater or equal than 0 and less or equal than 1
- MinHeightOverGround (Stable)
- Minimum height over ground
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- MaxHeightOverGround (Stable)
- Maximum height over ground
- Type:
Double, Optional (Default: 20.0), Computable - Constraint: Value must be greater than 0
- FastFlyThreshold (WorkInProgress)
- Relative threshold when fast flying animation should be used
- Type:
Double, Optional (Default: 0.6) - Constraint: Value must be greater or equal than 0 and less or equal than 1
- AutoLevel (Stable)
- Set pitch to 0 when no steering forces applied
- Type:
Boolean, Optional (Default: true)
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast.
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0 and less or equal than 1
Walk: MotionController (WorkInProgress)
Provide walk on ground abilities for NPC
Attributes
- Type (Stable)
- Type field
- Type:
String, Required - Constraint: String must be not empty
- EpsilonSpeed (Experimental)
- Minimum speed considered non 0
- Type:
Double, Optional (Default: 1.0E-5) - Constraint: Value must be greater than 0
- EpsilonAngle (Experimental)
- Minimum angle difference considered non 0 in degrees
- Type:
Double, Optional (Default: 3.0) - Constraint: Value must be greater than 0
- MaxHeadRotationSpeed (Stable)
- Maximum rotation speed of the head in degrees
- Type:
Double, Optional (Default: 360.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- ForceVelocityDamping (Experimental)
- Damping of external force/velocity over time
- Type:
Double, Optional (Default: 0.5) - Constraint: Value must be greater than 0
- RunThreshold (WorkInProgress)
- Relative threshold when running animation should be used
- Type:
Double, Optional (Default: 0.7), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- RunThresholdRange (WorkInProgress)
- Relative threshold range for switching between running/walking
- Type:
Double, Optional (Default: 0.15) - Constraint: Value must be greater or equal than 0 and less or equal than 1
- MaxWalkSpeed (Stable)
- Maximum horizontal speed
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- MinWalkSpeed (WorkInProgress)
- Minimum horizontal speed
- Type:
Double, Optional (Default: 0.1) - Constraint: Value must be greater or equal than 0
- MaxFallSpeed (Stable)
- Maximum fall speed
- Type:
Double, Optional (Default: 8.0) - Constraint: Value must be greater than 0
- MaxSinkSpeedFluid (Stable)
- Maximum sink speed in fluids
- Type:
Double, Optional (Default: 4.0) - Constraint: Value must be greater than 0
- Gravity (Stable)
- Gravity
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- Acceleration (Stable)
- Acceleration
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- MaxRotationSpeed (Stable)
- Maximum rotational speed in degrees
- Type:
Double, Optional (Default: 360.0), Computable - Constraint: Value must be greater than 0
- MaxWalkTurnAngle (WorkInProgress)
- Maximum angle NPC can walk without explicit turning in degrees
- Type:
Double, Optional (Default: 90.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- BlendRestTurnAngle (WorkInProgress)
- When NPC is blending heading and turn angle required is larger than this value speed is reduced
- Type:
Double, Optional (Default: 60.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- BlendRestRelativeSpeed (WorkInProgress)
- When NPC is blending heading relative speed used when reducing speed
- Type:
Double, Optional (Default: 0.2), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- MaxClimbHeight (Stable)
- Maximum height NPC can climb
- Type:
Double, Optional (Default: 1.3), Computable - Constraint: Value must be greater than 0
- JumpHeight (Experimental)
- How high the NPC jumps above climb height
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0
- MinJumpHeight (Experimental)
- Minimum height above which a jump will be attempted
- Type:
Double, Optional (Default: 0.6), Computable - Constraint: Value must be greater or equal than 0
- MinJumpDistance (Experimental)
- Minimum distance above which a jump will be executed
- Type:
Double, Optional (Default: 0.2), Computable - Constraint: Value must be greater than 0
- JumpForce (Experimental)
- The force multiplier for the upward motion of the jump
- Type:
Double, Optional (Default: 1.5), Computable - Constraint: Value must be greater than 0
- JumpBlending (Experimental)
- The blending of the upward jump pattern. 0 is more curved and 1 is linear
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- JumpDescentBlending (Experimental)
- The blending of the jump descent pattern. 0 is linear while higher values become more curved
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- JumpDescentSteepness (Experimental)
- The steepness of the descent portion of the jump
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- AscentAnimationType (Stable)
- The animation to play when walking up a block
- Type:
Flag, Optional (Default: Walk), Computable - Flag Values:
Walk: Play walk animationFly: Play fly animationIdle: Play idle animationClimb: Play climb animationJump: Play jump animation
- ClimbSpeedMult (WorkInProgress)
- Climb speed multiplier (const + multiplier * walkspeed ** power)
- Type:
Double, Optional (Default: 0.0), Computable
- ClimbSpeedPow (WorkInProgress)
- Climb speed power (const + multiplier * walkspeed ** power)
- Type:
Double, Optional (Default: 1.0), Computable
- ClimbSpeedConst (WorkInProgress)
- Climb speed constant (const + multiplier * walkspeed ** power)
- Type:
Double, Optional (Default: 5.0), Computable - Constraint: Value must be greater than 0
- MinDescentAnimationHeight (Stable)
- The min drop distance to switch from the standard walking animation to the specified descent animation
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0
- DescendFlatness (WorkInProgress)
- Relative scale how fast NPC moves forward while climbing down
- Type:
Double, Optional (Default: 0.7), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- DescendSpeedCompensation (WorkInProgress)
- Factor to compensate forward speed reduction while moving downwards
- Type:
Double, Optional (Default: 0.9), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- DescentAnimationType (Experimental)
- The animation to play when moving down a block
- Type:
Flag, Optional (Default: Fall), Computable - Flag Values:
Walk: Play walk animationIdle: Play idle animationFall: Play fall animation
- DescentSteepness (Experimental)
- The relative steepness of the descent
- Type:
Double, Optional (Default: 1.4), Computable - Constraint: Value must be greater than 0
- DescentBlending (Experimental)
- The blending of the descent pattern. 0 is linear, while higher values become more curved
- Type:
Double, Optional (Default: 1.8), Computable - Constraint: Value must be greater or equal than 0
- MaxDropHeight (WorkInProgress)
- Maximum height NPC considers drop safe
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- FenceBlockSet (Stable)
- Unclimbable blocks
- Type:
Asset, Optional (Default: Fence)
- JumpRange (WorkInProgress)
- Jump distance range
- Type:
Array, Optional (Default: [0.0, 0.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 10and in weakly ascending order
- MinHover (WorkInProgress)
- Minimum hover height over ground
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- MinHoverClimb (WorkInProgress)
- Minimum hover height over ground when climbing
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- MinHoverDrop (WorkInProgress)
- Minimum hover height over ground when dropping
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- FloatsDown (WorkInProgress)
- If true NPC floats down when hovering enabled else gravity decides
- Type:
Boolean, Optional (Default: true)
- MaxHover (WorkInProgress)
- Maximum hover height over ground
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- HoverFreq (WorkInProgress)
- Hover frequency
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- MinHitSlowdown (Stable)
- The minimum percentage to slow down by when attacked from behind
- Type:
Double, Optional (Default: 0.1) - Constraint: Value must be greater or equal than 0 and less or equal than 1
Constraints
- MinHover must be less or equal than MaxHover
- MinHoverClimb must be less or equal than MinHover
- MinHoverDrop must be less or equal than MinHover
- MinWalkSpeed must be less or equal than MaxWalkSpeed
List of Misc Parts
ActionList: ActionList (Stable)
An array of actions to be executed
- List of actions
- Type:
Array, Required, Element Type: Action
Aim: HeadMotion (Stable)
Aim at target considering weapon in hand.
Attributes
- Spread (Experimental)
- Random targeting error
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 5
- HitProbability (Experimental)
- Probability of shot being straight on target
- Type:
Double, Optional (Default: 0.33), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- Deflection (Experimental)
- Compute deflection for moving targets
- Type:
Boolean, Optional (Default: true), Computable
- RelativeTurnSpeed (Stable)
- The relative turn speed modifier
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
AimCharge: BodyMotion (Stable)
Aim the NPC at a target position for performing a charge based on aiming information and ensure that the charge is possible before it's executed.
Attributes
- RelativeTurnSpeed (Stable)
- The relative turn speed modifier
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
Altitude: IEntityFilter (Stable)
Matches targets if they're within the defined range above the ground
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- AltitudeRange (Stable)
- The range above the ground to match
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
And: IEntityFilter (Stable)
Logical AND of a list of filters
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Filters (Stable)
- List of filters
- Type:
Array, Required, Element Type: IEntityFilter - Constraint: Array must not be empty
Attitude: ISensorEntityPrioritiser (Stable)
Prioritises return entities by attitude
Attributes
- AttitudesByPriority (Stable)
- A prioritised list of attitudes
- Type:
FlagArray, Required, Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
- Constraint: Array must not contain duplicates
Attitude: IEntityFilter (Stable)
Matches the attitude towards the locked target
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Attitudes (Stable)
- The attitudes to match
- Type:
FlagSet, Required, Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
Constraints
Combat: IEntityFilter (Stable)
Check the target's combat state. This includes whether they're attacking at all, if they're using a particular attack, etc
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Sequence (Stable)
- The attack ID to check for.
- Type:
Asset, Optional (Default: null), Computable
- TimeElapsedRange (Stable)
- The acceptable elapsed time range in seconds.
- Type:
Array, Optional (Default: [0.0, 3.4028234663852886E38]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 3.4028234663852886e+38and in weakly ascending order
- Mode (Stable)
- Type of combat to trigger on
- Type:
Flag, Optional (Default: Attacking), Computable - Flag Values:
Ranged: RangedCharging: Weapon chargingMelee: MeleeBlocking: BlockingSequence: Combat sequenceAttacking: AttackingAny: AnyNone: None
Constraints
- If Mode is Sequence, the asset Sequencemust be provided
CombatTargets: ISensorEntityCollector (Stable)
A collector which processes matched friendly and hostile targets and adds them to the NPC's short-term combat memory.
Flee: BodyMotion (Experimental)
Move away from a target using path finding or steering
Attributes
- RelativeSpeed (Stable)
- Maximum relative speed the NPC should move
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- RelativeSpeedWaypoint (Stable)
- Maximum relative speed the NPC should move close to waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 1
- WaypointRadius (Stable)
- Radius to slow down around waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0.1
- UseBestPath (Stable)
- Use best partial path if goal can't be reached
- Type:
Boolean, Optional (Default: true), Computable
- ThrottleDelayRange (Stable)
- Time to delay after no path finding solution found
- Type:
Array, Optional (Default: [3.0, 5.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- ThrottleIgnoreCount (Stable)
- How often no valid path solution can be found before throttling delay is applied
- Type:
Integer, Optional (Default: 3.0), Computable - Constraint: Value must be greater or equal than 0
- BuildOptimisedPath (Stable)
- Try to reduce number of nodes of generated path
- Type:
Boolean, Optional (Default: true), Computable
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: true), Computable
- BlendHeading (Stable)
- Relative rotation angle into next waypoint when arriving at current waypoint
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- PathSmoothing (Stable)
- Try to smooth followed path. Larger values smooth more.
- Type:
Integer, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- RejectionWeight (Stable)
- Weight of rejection vector pushing entity closer to original path
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- UseSteering (Stable)
- Use simple/cheap steering if available
- Type:
Boolean, Optional (Default: true), Computable
- SkipSteering (Experimental)
- Skip steering if target not reachable
- Type:
Boolean, Optional (Default: true), Computable
- UsePathfinder (Stable)
- Use path finder
- Type:
Boolean, Optional (Default: true), Computable
- MinPathLength (Experimental)
- Minimum length of path required when not able to reach target (should be greater equal 2)
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- DiagonalMoves (Stable)
- Allow diagonal moves
- Type:
Boolean, Optional (Default: true), Computable
- StepsPerTick (Stable)
- Steps per iteration
- Type:
Integer, Optional (Default: 50.0), Computable - Constraint: Value must be greater than 0
- MaxPathLength (Stable)
- Max path steps before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxOpenNodes (Stable)
- Max open nodes before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxTotalNodes (Stable)
- Max total node before aborting path finding
- Type:
Integer, Optional (Default: 900.0), Computable - Constraint: Value must be greater than 0
- Debug (Stable)
- Debugging flags
- Type:
String, Optional (Default: )
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
- WaitDistance (Experimental)
- Minimum distance target needs to move before recomputing path when no path can be found
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- RecomputeDistance (Experimental)
- Maximum distance target can move before path is recomputed or 0 to supress recomputation
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater or equal than 0
- ReprojectDistance (Experimental)
- Maximum distance target can move before position is reprojected
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0
- AdjustRangeByHitboxSize (Stable)
- Correct range by hitbox sizes of involved entities
- Type:
Boolean, Optional (Default: false), Computable
- RecomputeConeAngle (Experimental)
- Recompute path when target leaves cone from initial position to target
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- SlowDownDistance (Stable)
- Distance from target when NPC should start to slowdown
- Type:
Double, Optional (Default: 8.0), Computable - Constraint: Value must be greater than 0
- StopDistance (Stable)
- Distance from target when NPC should halt
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater than 0
- Falloff (Stable)
- Rate how fast the slowdown should happen relative to distance
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- HoldDirectionTimeRange (Stable)
- How often to change heading
- Type:
Array, Optional (Default: [2.0, 5.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- ChangeDirectionViewSector (Stable)
- The view sector the NPC uses to decide if it should switch direction
- Type:
Double, Optional (Default: 230.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- DirectionJitter (Stable)
- How much jitter in degrees to add to the heading the NPC uses
- Type:
Double, Optional (Default: 45.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- ErraticDistance (Stable)
- If the player is closer than this distance, the NPC will behave more erratically using the additional jitter parameter
- Type:
Double, Optional (Default: 4.0), Computable - Constraint: Value must be greater than 0
- ErraticExtraJitter (Stable)
- Extra jitter to add to the NPC heading on top of the standard when the target is too close
- Type:
Double, Optional (Default: 45.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- ErraticChangeDurationMultiplier (Stable)
- A multiplier to decrease the duration between direction changes when the target is too close
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 1
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
- SlowDownDistance must be less or equal than StopDistance
Flock: BodyMotion (Experimental)
Flocking - WIP
Constraints
Flock: IEntityFilter (Stable)
Test for flock membership and related properties
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- FlockStatus (Stable)
- Test for NPC status in relation to flock
- Type:
Flag, Optional (Default: Any) - Flag Values:
Leader: Is leader of a flockFollower: Is part of a flock but not leaderNotMember: Is not part of a flockMember: Is part of a flockAny: Don't care
- FlockPlayerStatus (Stable)
- Test for Player status for flock NPC is member
- Type:
Flag, Optional (Default: Any) - Flag Values:
NotMember: Player is not member of a flockMember: Player is member of a flockAny: Don't care
- Size (Stable)
- Check for a certain range of NPCs in the flock
- Type:
Array, Optional (Default: null), Element Type: integer
- CheckCanJoin (Stable)
- If true, will filter entities in a flock the executor can join
- Type:
Boolean, Optional (Default: false)
HashMap: HashMap (Stable)
Non-empty list of motion controllers.
- List of motion controllers
- Type:
Array, Required, Element Type: MotionController - Constraint: Array must not be empty
HeightDifference: IEntityFilter (Stable)
Matches entities within the given height range
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- HeightDifference (Stable)
- The height range to test entities in. Extends into negatives for positions below the NPC
- Type:
Array, Optional (Default: [-1.7976931348623157E308, 1.7976931348623157E308]), Computable, Element Type: Double - Constraint: Values must be greater or equal than -1.7976931348623157e+308, less or equal than 1.7976931348623157e+308and in weakly ascending order
- UseEyePosition (Stable)
- Use eye position for height difference checks
- Type:
Boolean, Optional (Default: true), Computable
Constraints
InsideBlock: IEntityFilter (Stable)
Matches if the entity is inside any of the blocks in the BlockSet
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- BlockSet (Stable)
- The BlockSet to match against
- Type:
Asset, Required, Computable
Instruction: Instruction (WorkInProgress)
An instruction with Sensor, and Motions and Actions, or a list of nested instructions.
Attributes
- Name (Stable)
- Optional name for descriptor
- Type:
String, Optional (Default: null)
- Tag (Experimental)
- Internal identifier tag for debugging
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- Enabled (Stable)
- Whether this instruction should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor for testing if instruction can be applied. If not supplied, will always match
- Type:
ObjectRef, Optional (Default: null), Object Type: Sensor
- BodyMotion (Stable)
- Body motion to be executed
- Type:
ObjectRef, Optional (Default: null), Object Type: BodyMotion
- HeadMotion (Stable)
- Head motion to be executed
- Type:
ObjectRef, Optional (Default: null), Object Type: HeadMotion
- Actions (Stable)
- Actions to be executed
- Type:
ObjectRef, Optional (Default: null), Object Type: ActionList
- ActionsBlocking (Stable)
- Do not execute an action unless the previous action could execute
- Type:
Boolean, Optional (Default: false)
- ActionsAtomic (Stable)
- Only execute actions if all actions can be executed
- Type:
Boolean, Optional (Default: false)
- Instructions (Stable)
- Optional nested list of instructions
- Type:
Array, Optional (Default: null), Element Type: Instruction
- Continue (WorkInProgress)
- Continue after this instruction was executed
- Type:
Boolean, Optional (Default: false)
- Weight (Stable)
- Weighted chance of picking this instruction in a random instruction
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- TreeMode (Stable)
- Whether this instruction and its contents should be treated like a traditional behaviour tree, i.e. will continue if all child instructions fail
- Type:
Boolean, Optional (Default: false)
- InvertTreeModeResult (Stable)
- Whether or not to invert the result of TreeMode evaluation when passing up to parent TreeMode instructions
- Type:
Boolean, Optional (Default: false), Computable
Constraints
- At most one or none of BodyMotion, Instructions must be provided
- At most one or none of HeadMotion, Instructions must be provided
- At most one or none of Actions, Instructions must be provided
- If TreeMode is true, Continue must be false
Inventory: IEntityFilter (Stable)
Test various conditions relating to entity inventory. This includes whether it contains a specific item, item count, and free slots
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Items (Stable)
- A list of glob item patterns to match
- Type:
AssetArray, Optional (Default: [*]), Computable, Element Type: Item
- CountRange (Stable)
- The range of number of items that need to match the patterns
- Type:
Array, Optional (Default: [1, 2147483647]), Computable, Element Type: integer - Constraint: Values must be greater or equal than 0, less or equal than 2147483647and in weakly ascending order
- FreeSlotRange (Stable)
- The range designating the number of required free slots. Setting min and max to zero would check if full
- Type:
Array, Optional (Default: [0, 2147483647]), Computable, Element Type: integer - Constraint: Values must be greater or equal than 0, less or equal than 2147483647and in weakly ascending order
ItemInHand: IEntityFilter (Stable)
Check if entity is holding an item
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Items (Stable)
- A list of glob item patterns to match
- Type:
AssetArray, Required, Computable, Element Type: Item
- Hand (Stable)
- Which hand to check
- Type:
Flag, Optional (Default: Both), Computable - Flag Values:
OffHand: The off-handMain: The main handBoth: Both hands
Land: BodyMotion (Experimental)
Try to land at the given position using a seek like motion
Attributes
- RelativeSpeed (Stable)
- Maximum relative speed the NPC should move
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- RelativeSpeedWaypoint (Stable)
- Maximum relative speed the NPC should move close to waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 1
- WaypointRadius (Stable)
- Radius to slow down around waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0.1
- UseBestPath (Stable)
- Use best partial path if goal can't be reached
- Type:
Boolean, Optional (Default: true), Computable
- ThrottleDelayRange (Stable)
- Time to delay after no path finding solution found
- Type:
Array, Optional (Default: [3.0, 5.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- ThrottleIgnoreCount (Stable)
- How often no valid path solution can be found before throttling delay is applied
- Type:
Integer, Optional (Default: 3.0), Computable - Constraint: Value must be greater or equal than 0
- BuildOptimisedPath (Stable)
- Try to reduce number of nodes of generated path
- Type:
Boolean, Optional (Default: true), Computable
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: true), Computable
- BlendHeading (Stable)
- Relative rotation angle into next waypoint when arriving at current waypoint
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- PathSmoothing (Stable)
- Try to smooth followed path. Larger values smooth more.
- Type:
Integer, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- RejectionWeight (Stable)
- Weight of rejection vector pushing entity closer to original path
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- UseSteering (Stable)
- Use simple/cheap steering if available
- Type:
Boolean, Optional (Default: true), Computable
- SkipSteering (Experimental)
- Skip steering if target not reachable
- Type:
Boolean, Optional (Default: true), Computable
- UsePathfinder (Stable)
- Use path finder
- Type:
Boolean, Optional (Default: true), Computable
- MinPathLength (Experimental)
- Minimum length of path required when not able to reach target (should be greater equal 2)
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- DiagonalMoves (Stable)
- Allow diagonal moves
- Type:
Boolean, Optional (Default: true), Computable
- StepsPerTick (Stable)
- Steps per iteration
- Type:
Integer, Optional (Default: 50.0), Computable - Constraint: Value must be greater than 0
- MaxPathLength (Stable)
- Max path steps before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxOpenNodes (Stable)
- Max open nodes before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxTotalNodes (Stable)
- Max total node before aborting path finding
- Type:
Integer, Optional (Default: 900.0), Computable - Constraint: Value must be greater than 0
- Debug (Stable)
- Debugging flags
- Type:
String, Optional (Default: )
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
- WaitDistance (Experimental)
- Minimum distance target needs to move before recomputing path when no path can be found
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- RecomputeDistance (Experimental)
- Maximum distance target can move before path is recomputed or 0 to supress recomputation
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater or equal than 0
- ReprojectDistance (Experimental)
- Maximum distance target can move before position is reprojected
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0
- AdjustRangeByHitboxSize (Stable)
- Correct range by hitbox sizes of involved entities
- Type:
Boolean, Optional (Default: false), Computable
- RecomputeConeAngle (Experimental)
- Recompute path when target leaves cone from initial position to target
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- Reachable (Experimental)
- Target must be reachable so that hitboxes can overlap
- Type:
Boolean, Optional (Default: false), Computable
- HeightDifference (Experimental)
- Height difference allowed to target
- Type:
Array, Optional (Default: [-1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than -1.7976931348623157e+308, less or equal than 1.7976931348623157e+308and in strictly ascending order
- SlowDownDistance (Stable)
- Distance when to slow down when approaching
- Type:
Double, Optional (Default: 8.0), Computable - Constraint: Value must be greater than 0
- StopDistance (Stable)
- Distance to stop at
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater than 0
- AbortDistance (Stable)
- Distance to abort behaviour
- Type:
Double, Optional (Default: 96.0), Computable - Constraint: Value must be greater than 0
- Falloff (Stable)
- Deceleration when approaching target
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- SwitchToSteeringDistance (Stable)
- Distance below NPC can test if target is reachable and abort existing path
- Type:
Double, Optional (Default: 20.0), Computable - Constraint: Value must be greater than 0
- GoalLenience (Experimental)
- The distance from the target landing point that is acceptable to land at
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater than 0
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
- SlowDownDistance must be greater or equal than StopDistance
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
Leave: BodyMotion (Experimental)
Get away from current position using path finding
Attributes
- RelativeSpeed (Stable)
- Maximum relative speed the NPC should move
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- RelativeSpeedWaypoint (Stable)
- Maximum relative speed the NPC should move close to waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 1
- WaypointRadius (Stable)
- Radius to slow down around waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0.1
- UseBestPath (Stable)
- Use best partial path if goal can't be reached
- Type:
Boolean, Optional (Default: true), Computable
- ThrottleDelayRange (Stable)
- Time to delay after no path finding solution found
- Type:
Array, Optional (Default: [3.0, 5.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- ThrottleIgnoreCount (Stable)
- How often no valid path solution can be found before throttling delay is applied
- Type:
Integer, Optional (Default: 3.0), Computable - Constraint: Value must be greater or equal than 0
- BuildOptimisedPath (Stable)
- Try to reduce number of nodes of generated path
- Type:
Boolean, Optional (Default: true), Computable
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: true), Computable
- BlendHeading (Stable)
- Relative rotation angle into next waypoint when arriving at current waypoint
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- PathSmoothing (Stable)
- Try to smooth followed path. Larger values smooth more.
- Type:
Integer, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- RejectionWeight (Stable)
- Weight of rejection vector pushing entity closer to original path
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- MinPathLength (Experimental)
- Minimum length of path required when not able to reach target (should be greater equal 2)
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- DiagonalMoves (Stable)
- Allow diagonal moves
- Type:
Boolean, Optional (Default: true), Computable
- StepsPerTick (Stable)
- Steps per iteration
- Type:
Integer, Optional (Default: 50.0), Computable - Constraint: Value must be greater than 0
- MaxPathLength (Stable)
- Max path steps before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxOpenNodes (Stable)
- Max open nodes before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxTotalNodes (Stable)
- Max total node before aborting path finding
- Type:
Integer, Optional (Default: 900.0), Computable - Constraint: Value must be greater than 0
- Debug (Stable)
- Debugging flags
- Type:
String, Optional (Default: )
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
- Distance (Experimental)
- Minimum distance required
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
Constraints
LineOfSight: IEntityFilter (Stable)
Matches if there is line of sight to the target
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
Constraints
MaintainDistance: BodyMotion (Stable)
Maintain distance from a given position
Attributes
- DesiredDistanceRange (Stable)
- The desired distance to remain at.
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than -1.7976931348623157e+308, less or equal than 1.7976931348623157e+308and in weakly ascending order
- TargetDistanceFactor (Stable)
- A factor used to decide what distance to move to within the target range when the target falls outside of it. 0 will result in moving the shortest distance to fall within the range, 1 the furthest distance, and 0.5 roughly the middle of the range.
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- MoveThreshold (Stable)
- An extra threshold distance on either side of the desired range before the NPC will trigger movement.
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- RelativeForwardsSpeed (Stable)
- Maximum relative speed for the NPC moving forwards
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- RelativeBackwardsSpeed (Stable)
- Maximum relative speed for the NPC moving backwards
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- MoveTowardsSlowdownThreshold (Stable)
- The distance away from the target stopping point at which the NPC will start to slow down while moving towards the target
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- StrafingDurationRange (Stable)
- How long to strafe for (moving left or right around the target). If set to [ 0, 0 ], will not move horizontally at all.
- Type:
Array, Optional (Default: [0.0, 0.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- StrafingFrequencyRange (Stable)
- How frequently to execute strafing
- Type:
Array, Optional (Default: [2.0, 2.0]), Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
MatchLook: BodyMotion (Stable)
Make NPC body rotate to match look direction
Constraints
MovementState: IEntityFilter (Stable)
Check if the entity is in the given movement state
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- State (Stable)
- The movement state to check
- Type:
Flag, Required - Flag Values:
WALKING: WalkingFLYING: FlyingRUNNING: RunningFALLING: FallingIDLE: IdleSPRINTING: SprintingCROUCHING: CrouchingCLIMBING: ClimbingANY: AnyJUMPING: Jumping
NPCGroup: IEntityFilter (Stable)
Returns whether the entity matches one of the provided NPCGroups
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- IncludeGroups (Stable)
- A set of NPCGroups to include in the match
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: TagSet
- ExcludeGroups (Stable)
- A set of NPCGroups to exclude from the match
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: TagSet
Constraints
- One (and only one) of IncludeGroups, ExcludeGroups must be provided
Not: IEntityFilter (WorkInProgress)
Invert filter test
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Filter (Stable)
- Filter to test
- Type:
ObjectRef, Required, Object Type: IEntityFilter
Nothing: BodyMotion (Stable)
Do nothing
Constraints
Nothing: HeadMotion (Stable)
Do nothing
Constraints
Observe: HeadMotion (Stable)
Observe surroundings in various ways. This includes looking in random directions within an angle, or sweeping the head left and right, etc. Angles are relative to body angle at any given time.
Attributes
- AngleRange (Stable)
- The angle range to observe in degrees, offset from facing forwards
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than -180, less or equal than 180and in weakly ascending order
- PauseTimeRange (Stable)
- How long to continue looking in a given direction
- Type:
Array, Optional (Default: [2.0, 2.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- PickRandomAngle (Stable)
- Whether to pick random angles within the range. If false, will instead sweep across the range, pausing at either end.
- Type:
Boolean, Optional (Default: false), Computable
- ViewSegments (Stable)
- The number of distinct segments to stop at when sweeping from left to right
- Type:
Integer, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- RelativeTurnSpeed (Stable)
- The relative turn speed modifier
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
Constraints
Or: IEntityFilter (Stable)
Logical OR of a list of filters
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Filters (Stable)
- List of filters
- Type:
Array, Required, Element Type: IEntityFilter - Constraint: Array must not be empty
Path: Path (Stable)
List of transient path points
Attributes
- Waypoints (Stable)
- List of transient path points
- Type:
Array, Required, Element Type: RelativeWaypointDefinition
- Scale (Stable)
- Overall path scale
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
Path: BodyMotion (Stable)
Walk along a path.
Attributes
- StartAtNearestNode (Stable)
- Start at closest warp point
- Type:
Boolean, Optional (Default: true)
- PathWidth (Experimental)
- Walking corridor width
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- NodeWidth (Experimental)
- Radius of warp point node
- Type:
Double, Optional (Default: 0.2) - Constraint: Value must be greater than 0
- MinRelSpeed (Stable)
- Minimum relative walk speed
- Type:
Double, Optional (Default: 0.5) - Constraint: Value must be greater than 0 and less or equal than 1
- MaxRelSpeed (Stable)
- Maximum relative walk speed
- Type:
Double, Optional (Default: 0.5) - Constraint: Value must be greater than 0 and less or equal than 1
- MinWalkDistance (Experimental)
- Minimum walk distance when PathWidth greater 0
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- MaxWalkDistance (Experimental)
- Maximum walk distance when PathWidth greater 0
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- Direction (Stable)
- Walking direction relative to order of nodes
- Type:
Flag, Optional (Default: FORWARD) - Flag Values:
BACKWARD: Start visiting nodes in reverse orderRANDOM: Can change direction between nodes and randomly pick target node in Points shape modeFORWARD: Start visiting nodes in orderANY: Pick any start direction
- Shape (Stable)
- Shape of Path
- Type:
Flag, Optional (Default: LOOP), Computable - Flag Values:
CHAIN: Nodes form an open path of line segments and will chain together with the next nearest path upon reaching the final nodeLINE: Nodes form an open path of line segmentsLOOP: Nodes form a closed loop of line segments (last node leads to first node)POINTS: Any path between nodes is possible
- MinNodeDelay (Stable)
- Minimum resting time at a node
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- MaxNodeDelay (Stable)
- Maximum resting time at a node
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
- UseNodeViewDirection (Stable)
- Look into next node direction at node
- Type:
Boolean, Optional (Default: false)
- NodePauseScaleRange (Stable)
- The range from which to pick a value that defines the portion of the total node pause time that should be spent facing a direction before turning
- Type:
Array, Optional (Default: [0.2, 0.4]), Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- NodePauseExtraPercentRange (Stable)
- A range from which to pick the additional percentage of the directional pause time to add to it
- Type:
Array, Optional (Default: [0.0, 0.2]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1and in weakly ascending order
- PickRandomAngle (Stable)
- Whether to sweep left and right using the observation angle, or pick a random angle within the sector each time
- Type:
Boolean, Optional (Default: false)
- ViewSegments (Stable)
- The number of distinct segments to stop at when sweeping from left to right using the observation angle
- Type:
Integer, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
Constraints
- MinRelativeSpeed must be less or equal than MaxRelativeSpeed
- MinWalkDistance must be less or equal than MaxWalkDistance
- MinNodeDelay must be less or equal than MaxNodeDelay
- Must be attached to a sensor that provides one of path
Random: Instruction (Stable)
Randomised list of weighted instructions. One will be selected at random and executed until the NPC state changes.
Attributes
- Name (Stable)
- Optional name for descriptor
- Type:
String, Optional (Default: null)
- Tag (Experimental)
- Internal identifier tag for debugging
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- Enabled (Stable)
- Whether this instruction should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor for testing if instruction can be applied. If not supplied, will always match
- Type:
ObjectRef, Optional (Default: null), Object Type: Sensor
- Instructions (Stable)
- List of weighted instructions to select from
- Type:
Array, Optional (Default: null), Element Type: Instruction
- Continue (WorkInProgress)
- Continue after this instruction was executed
- Type:
Boolean, Optional (Default: false)
- Weight (Stable)
- Weighted chance of picking this instruction in a random instruction
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- TreeMode (Stable)
- Whether this instruction and its contents should be treated like a traditional behaviour tree, i.e. will continue if all child instructions fail
- Type:
Boolean, Optional (Default: false)
- InvertTreeModeResult (Stable)
- Whether or not to invert the result of TreeMode evaluation when passing up to parent TreeMode instructions
- Type:
Boolean, Optional (Default: false), Computable
- ResetOnStateChange (Stable)
- Whether to reset when NPC state changes
- Type:
Boolean, Optional (Default: true), Computable
- ExecuteFor (Stable)
- How long to execute the chosen instruction before picking another
- Type:
Array, Optional (Default: [1.7976931348623157E308, 1.7976931348623157E308]), Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
Constraints
- If TreeMode is true, Continue must be false
Reference: Instruction (Stable)
Prioritized instruction list that can be referenced from elsewhere in the file. Otherwise works like the default
Attributes
- Parameters (Stable)
- The parameter block for defining variables
- Type:
Parameters, Optional (Default: )
- Name (Stable)
- Name for referencing
- Type:
String, Required
- Tag (Experimental)
- Internal identifier tag for debugging
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- Enabled (Stable)
- Whether this instruction should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor for testing if instruction can be applied. If not supplied, will always match
- Type:
ObjectRef, Optional (Default: null), Object Type: Sensor
- BodyMotion (Stable)
- Body motion to be executed
- Type:
ObjectRef, Optional (Default: null), Object Type: BodyMotion
- HeadMotion (Stable)
- Head motion to be executed
- Type:
ObjectRef, Optional (Default: null), Object Type: HeadMotion
- Actions (Stable)
- Actions to be executed
- Type:
ObjectRef, Optional (Default: null), Object Type: ActionList
- ActionsBlocking (Stable)
- Do not execute an action unless the previous action could execute
- Type:
Boolean, Optional (Default: false)
- ActionsAtomic (Stable)
- Only execute actions if all actions can be executed
- Type:
Boolean, Optional (Default: false)
- Instructions (Stable)
- Optional nested list of instructions
- Type:
Array, Optional (Default: null), Element Type: Instruction
- Continue (WorkInProgress)
- Continue after this instruction was executed
- Type:
Boolean, Optional (Default: false)
- Weight (Stable)
- Weighted chance of picking this instruction in a random instruction
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- TreeMode (Stable)
- Whether this instruction and its contents should be treated like a traditional behaviour tree, i.e. will continue if all child instructions fail
- Type:
Boolean, Optional (Default: false)
- InvertTreeModeResult (Stable)
- Whether or not to invert the result of TreeMode evaluation when passing up to parent TreeMode instructions
- Type:
Boolean, Optional (Default: false), Computable
Constraints
- At most one or none of BodyMotion, Instructions must be provided
- At most one or none of HeadMotion, Instructions must be provided
- At most one or none of Actions, Instructions must be provided
- If TreeMode is true, Continue must be false
RelativeWaypointDefinition: RelativeWaypointDefinition (Stable)
A simple path waypoint definition where each waypoint is relative to the previous
Attributes
- Rotation (Stable)
- Rotation to turn from previous waypoint
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater than -360 and less than 360
- Distance (Stable)
- A distance to move from the previous waypoint
- Type:
Double, Required - Constraint: Value must be greater than 0
Seek: BodyMotion (Experimental)
Move towards a target using path finding or steering
Attributes
- RelativeSpeed (Stable)
- Maximum relative speed the NPC should move
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- RelativeSpeedWaypoint (Stable)
- Maximum relative speed the NPC should move close to waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 1
- WaypointRadius (Stable)
- Radius to slow down around waypoints
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0.1
- UseBestPath (Stable)
- Use best partial path if goal can't be reached
- Type:
Boolean, Optional (Default: true), Computable
- ThrottleDelayRange (Stable)
- Time to delay after no path finding solution found
- Type:
Array, Optional (Default: [3.0, 5.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- ThrottleIgnoreCount (Stable)
- How often no valid path solution can be found before throttling delay is applied
- Type:
Integer, Optional (Default: 3.0), Computable - Constraint: Value must be greater or equal than 0
- BuildOptimisedPath (Stable)
- Try to reduce number of nodes of generated path
- Type:
Boolean, Optional (Default: true), Computable
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: true), Computable
- BlendHeading (Stable)
- Relative rotation angle into next waypoint when arriving at current waypoint
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 1
- PathSmoothing (Stable)
- Try to smooth followed path. Larger values smooth more.
- Type:
Integer, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- RejectionWeight (Stable)
- Weight of rejection vector pushing entity closer to original path
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- UseSteering (Stable)
- Use simple/cheap steering if available
- Type:
Boolean, Optional (Default: true), Computable
- SkipSteering (Experimental)
- Skip steering if target not reachable
- Type:
Boolean, Optional (Default: true), Computable
- UsePathfinder (Stable)
- Use path finder
- Type:
Boolean, Optional (Default: true), Computable
- MinPathLength (Experimental)
- Minimum length of path required when not able to reach target (should be greater equal 2)
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- DiagonalMoves (Stable)
- Allow diagonal moves
- Type:
Boolean, Optional (Default: true), Computable
- StepsPerTick (Stable)
- Steps per iteration
- Type:
Integer, Optional (Default: 50.0), Computable - Constraint: Value must be greater than 0
- MaxPathLength (Stable)
- Max path steps before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxOpenNodes (Stable)
- Max open nodes before aborting path finding
- Type:
Integer, Optional (Default: 200.0), Computable - Constraint: Value must be greater than 0
- MaxTotalNodes (Stable)
- Max total node before aborting path finding
- Type:
Integer, Optional (Default: 900.0), Computable - Constraint: Value must be greater than 0
- Debug (Stable)
- Debugging flags
- Type:
String, Optional (Default: )
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
- WaitDistance (Experimental)
- Minimum distance target needs to move before recomputing path when no path can be found
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- RecomputeDistance (Experimental)
- Maximum distance target can move before path is recomputed or 0 to supress recomputation
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater or equal than 0
- ReprojectDistance (Experimental)
- Maximum distance target can move before position is reprojected
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater or equal than 0
- AdjustRangeByHitboxSize (Stable)
- Correct range by hitbox sizes of involved entities
- Type:
Boolean, Optional (Default: false), Computable
- RecomputeConeAngle (Experimental)
- Recompute path when target leaves cone from initial position to target
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- Reachable (Experimental)
- Target must be reachable so that hitboxes can overlap
- Type:
Boolean, Optional (Default: false), Computable
- HeightDifference (Experimental)
- Height difference allowed to target
- Type:
Array, Optional (Default: [-1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than -1.7976931348623157e+308, less or equal than 1.7976931348623157e+308and in strictly ascending order
- SlowDownDistance (Stable)
- Distance when to slow down when approaching
- Type:
Double, Optional (Default: 8.0), Computable - Constraint: Value must be greater than 0
- StopDistance (Stable)
- Distance to stop at
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater than 0
- AbortDistance (Stable)
- Distance to abort behaviour
- Type:
Double, Optional (Default: 96.0), Computable - Constraint: Value must be greater than 0
- Falloff (Stable)
- Deceleration when approaching target
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- SwitchToSteeringDistance (Stable)
- Distance below NPC can test if target is reachable and abort existing path
- Type:
Double, Optional (Default: 20.0), Computable - Constraint: Value must be greater than 0
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
- SlowDownDistance must be greater or equal than StopDistance
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
Sequence: BodyMotion (Stable)
Sequence of motions. Can be used in conjunction with 'Timer' to model more complex motions.
Attributes
- Looped (Stable)
- When true restart after last motion is finished
- Type:
Boolean, Optional (Default: true)
- RestartOnActivate (Experimental)
- Restart from first motion when NPC is activated.
- Type:
Boolean, Optional (Default: false)
- Motions (Stable)
- Array of motions
- Type:
Array, Required, Element Type: BodyMotion - Constraint: Array must not be empty
Constraints
Sequence: HeadMotion (Stable)
Sequence of motions. Can be used in conjunction with 'Timer' to model more complex motions.
Attributes
- Looped (Stable)
- When true restart after last motion is finished
- Type:
Boolean, Optional (Default: true)
- RestartOnActivate (Experimental)
- Restart from first motion when NPC is activated.
- Type:
Boolean, Optional (Default: false)
- Motions (Stable)
- Array of motions
- Type:
Array, Required, Element Type: HeadMotion - Constraint: Array must not be empty
Constraints
SpotsMe: IEntityFilter (Stable)
Checks if the entity can view the NPC in a given view sector or cone and without obstruction.
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- ViewAngle (Stable)
- Angle used for view sector and view cone test
- Type:
Double, Optional (Default: 90.0) - Constraint: Value must be greater or equal than 0 and less or equal than 360
- ViewTest (Stable)
- Check if the entity is in the view cone, view sector, or neither
- Type:
Flag, Optional (Default: VIEW_SECTOR) - Flag Values:
VIEW_SECTOR: View_SectorNONE: NoneVIEW_CONE: View_Cone
- TestLineOfSight (Stable)
- Check if view to the npc is not obstructed
- Type:
Boolean, Optional (Default: true)
Constraints
StandingOnBlock: IEntityFilter (Stable)
Matches the block directly beneath the entity against a BlockSet
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- BlockSet (Stable)
- The BlockSet to match against
- Type:
Asset, Required, Computable
Stat: IEntityFilter (Stable)
Match stat values of the entity
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- Stat (Stable)
- The stat value to check
- Type:
Asset, Required, Computable
- StatTarget (Stable)
- The stat target
- Type:
Flag, Required, Computable - Flag Values:
Min: Min valueMax: Max valueValue: Current value
- RelativeTo (Stable)
- The stat value to check against
- Type:
Asset, Required, Computable
- RelativeToTarget (Stable)
- The stat target
- Type:
Flag, Required, Computable - Flag Values:
Min: Min valueMax: Max valueValue: Current value
- ValueRange (Stable)
- The fractional range within which to trigger, with 1 being equal
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
StateTransition: StateTransition (Stable)
An entry containing a list of actions to execute when moving from one state to another
Attributes
- States (Stable)
- List of state transitions
- Type:
Array, Required, Element Type: StateTransitionEdges
- Actions (Stable)
- List of actions
- Type:
ObjectRef, Required, Object Type: ActionList
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
StateTransitionController: StateTransitionController (Stable)
A list of state transitions
- A list of state transition entries with lists of actions
- Type:
Array, Required, Element Type: StateTransition
StateTransitionEdges: StateTransitionEdges (Stable)
Sets of from and to states defining state transitions
Attributes
- Priority (Stable)
- Priority for the actions in this transition
- Type:
Integer, Optional (Default: 0) - Constraint: Value must be greater or equal than 0
- From (Stable)
- A set of from states
- Type:
StringList, Required - Constraint: Strings in array must not be empty
- To (Stable)
- A set of to states
- Type:
StringList, Required - Constraint: Strings in array must not be empty
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
TakeOff: BodyMotion (Experimental)
Switch NPC from walking to flying motion controller
Attributes
- JumpSpeed (Experimental)
- Speed to jump off
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0
Constraints
Teleport: BodyMotion (Experimental)
Teleport NPC to a position given by a sensor or to a random position nearby with an optional minimum offset up to a maximum offset
Attributes
- OffsetRange (Experimental)
- The minimum and maximum offset the NPC can be spawned from the target position
- Type:
Array, Optional (Default: [0.0, 0.0]), Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- MaxYOffset (Experimental)
- Maximum vertical offset from the target position in case of terrain obstacles
- Type:
Double, Optional (Default: 5.0) - Constraint: Value must be greater than 0
- OffsetSector (Experimental)
- The sector around the target in which to teleport to. The origin point is directly between the target and the NPC teleporting
- Type:
Double, Optional (Default: 0.0) - Constraint: Value must be greater or equal than 0 and less or equal than 360
- Orientation (Experimental)
- The direction to face after teleporting
- Type:
Flag, Optional (Default: Unchanged) - Flag Values:
UseTarget: Use the target's orientationTowardsTarget: Face towards the targetUnchanged: Do not change orientation
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
- If Orientation is UseTarget, must be attached to a sensor that provides one of player target, NPC target, dropped item target
TestProbe: BodyMotion (Experimental)
Debugging - Test probing
Attributes
- AdjustX (Experimental)
- X block position adjustment
- Type:
Double, Optional (Default: -1.0)
- AdjustZ (Experimental)
- Y block position adjustment
- Type:
Double, Optional (Default: -1.0)
- AdjustDistance (Experimental)
- Set probe direction length for debugging
- Type:
Double, Optional (Default: -1.0)
- SnapAngle (Experimental)
- Snap angle to multiples of value for debugging
- Type:
Double, Optional (Default: -1.0)
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true)
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: false)
Constraints
Timer: BodyMotion (Stable)
Execute a Motion for a specific maximum time. If the motion finishes earlier the Timer also finishes.
Attributes
- Time (Stable)
- Range of time from which the random timer length can be chosen
- Type:
Array, Optional (Default: [1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- Motion (Stable)
- Motion to execute
- Type:
ObjectRef, Required, Object Type: BodyMotion
Constraints
Timer: HeadMotion (Stable)
Execute a Motion for a specific maximum time. If the motion finishes earlier the Timer also finishes.
Attributes
- Time (Stable)
- Range of time from which the random timer length can be chosen
- Type:
Array, Optional (Default: [1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- Motion (Stable)
- Motion to execute
- Type:
ObjectRef, Required, Object Type: HeadMotion
Constraints
ValueToParameterMapping: ValueToParameterMapping (Stable)
An entry containing a list of actions to execute when moving from one state to another
Attributes
- ValueType (Stable)
- The type of the value being mapped
- Type:
Flag, Required - Flag Values:
String: String valueDouble: Double valueInt: Integer value
- FromValue (Stable)
- The value to read from the value store
- Type:
String, Required - Constraint: String must be not empty
- ToParameter (Stable)
- The parameter name to override
- Type:
String, Required - Constraint: String must be not empty
ViewSector: IEntityFilter (Stable)
Matches entities within the given view sector
Attributes
- Enabled (Stable)
- Whether this entity filter should be enabled
- Type:
Boolean, Optional (Default: true), Computable
- ViewSector (Stable)
- View sector to test entities in
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
Constraints
Wander: BodyMotion (Stable)
Random movement in short linear pieces.
Attributes
- MinWalkTime (Stable)
- Minimum time to wander for a segment.
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- MaxWalkTime (Stable)
- Maximum time to wander for a segment.
- Type:
Double, Optional (Default: 4.0), Computable - Constraint: Value must be greater than 0
- MinHeadingChange (Stable)
- Approximate minimum heading change between segments
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- MaxHeadingChange (Stable)
- Approximate maximum heading change between segments
- Type:
Double, Optional (Default: 90.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- RelaxHeadingChange (Stable)
- Allow other directions when preferred directions blocked
- Type:
Boolean, Optional (Default: true), Computable
- RelativeSpeed (Stable)
- Relative wander speed
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- MinMoveDistance (Stable)
- Minimum distance to move in a segment
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
- StopDistance (Stable)
- Distance to stop at target
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
- TestsPerTick (Stable)
- Direction tests per tick
- Type:
Integer, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: false), Computable
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
Constraints
- MinWalkTime must be less or equal than MaxWalkTime
- MinHeadingChange must be less or equal than MaxHeadingChange
WanderInCircle: BodyMotion (Stable)
Random movement in short linear pieces inside circle around spawn position.
Attributes
- MinWalkTime (Stable)
- Minimum time to wander for a segment.
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- MaxWalkTime (Stable)
- Maximum time to wander for a segment.
- Type:
Double, Optional (Default: 4.0), Computable - Constraint: Value must be greater than 0
- MinHeadingChange (Stable)
- Approximate minimum heading change between segments
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- MaxHeadingChange (Stable)
- Approximate maximum heading change between segments
- Type:
Double, Optional (Default: 90.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- RelaxHeadingChange (Stable)
- Allow other directions when preferred directions blocked
- Type:
Boolean, Optional (Default: true), Computable
- RelativeSpeed (Stable)
- Relative wander speed
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- MinMoveDistance (Stable)
- Minimum distance to move in a segment
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
- StopDistance (Stable)
- Distance to stop at target
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
- TestsPerTick (Stable)
- Direction tests per tick
- Type:
Integer, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: false), Computable
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
- Radius (Stable)
- Radius of circle to wander in
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater than 0
- Flock (Experimental)
- Do not use
- Type:
Boolean, Optional (Default: false)
- UseSphere (Stable)
- Use a sphere instead of circle cylinder
- Type:
Boolean, Optional (Default: false)
Constraints
- MinWalkTime must be less or equal than MaxWalkTime
- MinHeadingChange must be less or equal than MaxHeadingChange
WanderInRect: BodyMotion (Stable)
Random movement in short linear pieces inside rectangle around spawn position.
Attributes
- MinWalkTime (Stable)
- Minimum time to wander for a segment.
- Type:
Double, Optional (Default: 2.0), Computable - Constraint: Value must be greater or equal than 0
- MaxWalkTime (Stable)
- Maximum time to wander for a segment.
- Type:
Double, Optional (Default: 4.0), Computable - Constraint: Value must be greater than 0
- MinHeadingChange (Stable)
- Approximate minimum heading change between segments
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- MaxHeadingChange (Stable)
- Approximate maximum heading change between segments
- Type:
Double, Optional (Default: 90.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 180
- RelaxHeadingChange (Stable)
- Allow other directions when preferred directions blocked
- Type:
Boolean, Optional (Default: true), Computable
- RelativeSpeed (Stable)
- Relative wander speed
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0 and less or equal than 2
- MinMoveDistance (Stable)
- Minimum distance to move in a segment
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
- StopDistance (Stable)
- Distance to stop at target
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
- TestsPerTick (Stable)
- Direction tests per tick
- Type:
Integer, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- AvoidBlockDamage (Stable)
- Should avoid environmental damage from blocks
- Type:
Boolean, Optional (Default: true), Computable
- RelaxedMoveConstraints (Stable)
- NPC can do movements like wading (depends on motion controller type)
- Type:
Boolean, Optional (Default: false), Computable
- DesiredAltitudeWeight (Stable)
- How much this NPC prefers being within the desired height range. 0 means it doesn't care much, 1 means it will do its best to get there fast. Values below 0 mean the default in the motion controller will be used.
- Type:
Double, Optional (Default: -1.0), Computable - Constraint: Value must be greater or equal than -1 and less or equal than 1
- Width (Stable)
- Rectangle width
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
- Depth (Stable)
- Rectangle depth
- Type:
Double, Optional (Default: 10.0) - Constraint: Value must be greater than 0
Constraints
- MinWalkTime must be less or equal than MaxWalkTime
- MinHeadingChange must be less or equal than MaxHeadingChange
Watch: HeadMotion (Stable)
Rotate to target.
Attributes
- RelativeTurnSpeed (Stable)
- The relative turn speed modifier
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0 and less or equal than 2
Constraints
- Must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
WeightedAction: WeightedAction (Stable)
A wrapped and weighted action intended to be used for Random action lists.
Attributes
- Action (Stable)
- The action to run
- Type:
ObjectRef, Required, Object Type: Action
- Weight (Stable)
- The weight representing how likely this action is to run
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
List of Core Components (audiovisual)
Animation: Sensor (Stable)
Check if a given animation is being played
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Slot (Stable)
- The animation slot to check
- Type:
Flag, Required, Computable - Flag Values:
Status: StatusAction: ActionFace: Face
- Animation (Stable)
- The animation ID to check for
- Type:
String, Required, Computable - Constraint: String must be not empty
Appearance: Action (Stable)
Change model of NPC to given appearance.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Appearance (Stable)
- Model name to use
- Type:
Asset, Required
DisplayName: Action (Stable)
Set the name displayed above NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- DisplayName (Stable)
- Name to display above NPC
- Type:
String, Required, Computable
ModelAttachment: Action (Stable)
Set an attachment on the current NPC model
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Slot (Stable)
- The attachment slot to set
- Type:
String, Required, Computable - Constraint: String must be not empty
- Attachment (Stable)
- The attachment to set, or empty to remove
- Type:
String, Required, Computable
PlayAnimation: Action (Experimental)
Play an animation
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Slot (Stable)
- The animation slot to play on
- Type:
Flag, Required - Flag Values:
Status: StatusAction: ActionFace: Face
- Animation (Stable)
- The animation ID to play
- Type:
String, Optional (Default: null), Computable
PlaySound: Action (Stable)
Plays a sound to players within a specified range.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- SoundEventId (Stable)
- The sound event to play
- Type:
Asset, Required, Computable
SpawnParticles: Action (WorkInProgress)
Spawn particle system visible within a given range with an offset relative to npc heading
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- ParticleSystem (Stable)
- Particle system to spawn
- Type:
Asset, Required, Computable
- Range (Stable)
- Maximum visibility range
- Type:
Double, Optional (Default: 75.0), Computable - Constraint: Value must be greater than 0
- Offset (Stable)
- Offset relative to footpoint in view direction of NPC
- Type:
Array, Optional (Default: null), Computable, Element Type: Double
List of Core Components (combat)
ApplyEntityEffect: Action (Stable)
Applies an entity effect to the target or self
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- EntityEffect (Stable)
- The entity effect to apply
- Type:
Asset, Required, Computable
- UseTarget (Stable)
- Use the sensor-provided target for the action, self otherwise
- Type:
Boolean, Optional (Default: true), Computable
Constraints
- If UseTarget is true, must be attached to a sensor that provides one of player target, NPC target
Attack: Action (Experimental)
Let NPC start an attack. When an attack is running no new attack is started.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Attack (Experimental)
- Attack pattern to use. If omitted, will cancel current attack
- Type:
Asset, Optional (Default: null), Computable
- AttackType (Stable)
- The interaction type to use
- Type:
Flag, Optional (Default: Primary), Computable - Flag Values:
Secondary: Secondary attackAbility3: Ability 3Primary: Primary attackAbility2: Ability 2Ability1: Ability 1
- ChargeFor (Stable)
- How long to charge for. 0 indicates no charging. Also doubles as how long to block for
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- AttackPauseRange (Stable)
- Range of minimum pause between attacks
- Type:
Array, Optional (Default: [0.0, 0.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- AimingTimeRange (Stable)
- A range from which to pick a random value denoting the max time the NPC will wait for aiming before launching the attack.
- Type:
Array, Optional (Default: [0.0, 0.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- LineOfSight (Experimental)
- Check Line of Sight before firing
- Type:
Boolean, Optional (Default: false)
- AvoidFriendlyFire (Experimental)
- Tries to avoid friendly fire if true
- Type:
Boolean, Optional (Default: true)
- BallisticMode (WorkInProgress)
- Trajectory to use
- Type:
Flag, Optional (Default: Short) - Flag Values:
Random: Random long or shortLong: Longer flight curveShort: Shorter flight curveAlternate: Alternate between long and short
- MeleeConeAngle (WorkInProgress)
- Cone angle considered for on target for melee
- Type:
Double, Optional (Default: 30.0) - Constraint: Value must be greater than 0 and less or equal than 360
- DamageFriendlies (Stable)
- Whether this attack should bypass ignored damage groups and deal damage to the target
- Type:
Boolean, Optional (Default: false)
- SkipAiming (Stable)
- Whether aiming should be skipped an the attack just executed immediately.
- Type:
Boolean, Optional (Default: false)
- ChargeDistance (Stable)
- If this is a charge attack, the distance required for the charge
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- InteractionVars (Stable)
- Set of interaction vars for modifying the interaction
- Type:
CodecObject, Optional (Default: null)
Constraints
- If SkipAiming is true, LineOfSight, AvoidFriendlyFire must be false
Damage: Sensor (Stable)
Test if NPC suffered damage. A position is only returned when NPC suffered combat damage.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Combat (Stable)
- Test for combat damage
- Type:
Boolean, Optional (Default: true)
- Friendly (Stable)
- Test for damage from usually disabled damage groups
- Type:
Boolean, Optional (Default: false)
- Drowning (Stable)
- Test for damage from drowning
- Type:
Boolean, Optional (Default: false)
- Environment (Stable)
- Test for damage from environment
- Type:
Boolean, Optional (Default: false)
- Other (Stable)
- Test for other damage
- Type:
Boolean, Optional (Default: false)
- TargetSlot (Stable)
- The slot to use for locking on the target if damage is taken. If omitted, target will not be locked
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
Constraints
- At least one of Combat, Drowning, Environment, Other must be true
- If TargetSlot is true, Drowning, Environment, Other must be false
Provides
- Player target
- NPC target
- Dropped item target
IsBackingAway: Sensor (Stable)
Test if the NPC is currently backing away from something.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
List of Core Components (corecomponents)
AddToHostileTargetMemory: Action (Stable)
Adds the passed target from the sensor to the hostile target memory
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
Constraints
- Must be attached to a sensor that provides one of player target, NPC target
CombatAbility: Action (Stable)
Starts the combat ability selected by the combat action evaluator.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
CombatActionEvaluator: Sensor (Experimental)
A sensor which handles funnelling information to actions and motions from the combat action evaluator. Delivers the current attack target and desired range for supported direct child motions.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- TargetInRange (Stable)
- Whether to match on target being in or out of range.
- Type:
Boolean, Required, Computable
- AllowableDeviation (Stable)
- The allowable deviation from the desired attack range
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
Provides
- Player target
- NPC target
FlockBeacon: Action (Experimental)
Let the NPC send out a message to the flock members
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Message (Stable)
- Message to send to targets
- Type:
String, Required, Computable - Constraint: String must be not empty
- SendTargetSlot (Stable)
- The marked target slot to send. If omitted, sends own position
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- ExpirationTime (Stable)
- The number of seconds that the message should last and be acknowledged by the receiving NPC. -1 represents infinite time.
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0 or equal -1
- SendToSelf (Stable)
- Send the message to self
- Type:
Boolean, Optional (Default: true)
- SendToLeaderOnly (Stable)
- Only send the message to the leader of the flock
- Type:
Boolean, Optional (Default: false)
FlockCombatDamage: Sensor (Stable)
Return true if flock with NPC received combat damage. Target position is entity which did most damage.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- LeaderOnly (Stable)
- Only test for damage to flock leader
- Type:
Boolean, Optional (Default: true)
Provides
- Player target
- NPC target
FlockLeader: Sensor (Stable)
Test for the presence and provide position of the flock leader
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
Provides
- Player target
- NPC target
FlockState: Action (Stable)
Sets the state name for the flock the NPC is member of.The flock leader is explicitly excluded from this operation.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- State (Stable)
- State name to set
- Type:
String, Required, Computable - Constraint: String must be a valid state string. A main state must be included before the period (e.g. Main.Test). State strings consist of a main state and a sub state (e.g. Main.Test). If nested within a substate, the main state may be omitted (e.g. .Test) when referencing.
Constraints
FlockTarget: Action (Stable)
Sets or clears the locked target for the flock the NPC is member of. If Clear flag is true, the locked target is cleared otherwise it is set to the the target.The flock leader is explicitly excluded from this operation.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Clear (Stable)
- If true, clear locked target. If false, set to current target.
- Type:
Boolean, Optional (Default: false)
- TargetSlot (Stable)
- The target slot to use
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String must be not empty
Constraints
- Must be attached to a sensor that provides one of player target, NPC target
HasHostileTargetMemory: Sensor (Stable)
Checks if there is currently a hostile target in the target memory.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
InflictedDamage: Sensor (Stable)
Return true if an individual or the flock it belongs to inflicted combat damage. Target position is entity which received most damage.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Target (Stable)
- Who to check has inflicted damage
- Type:
Flag, Optional (Default: Self) - Flag Values:
FlockLeader: Check flock leader onlySelf: Check selfFlock: Check flock
- FriendlyFire (Stable)
- Consider friendly fire too
- Type:
Boolean, Optional (Default: false)
Provides
- Player target
- NPC target
JoinFlock: Action (Stable)
Tries to build/join flock with target. Fails if both NPC and target are in a flock. If either NPC or target are in a flock, the one not in flock tries to join existing flock.If NPC and target are both not in a flock, a new flock with NPC is created and target is tried to be joined.Joining the flock can be rejected if the joining entity does have the correct type or the flock is full. This can be overridden by setting the ForceJoin flag to true.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- ForceJoin (Stable)
- Disables checking flock join conditions test and forces joining flock.
- Type:
Boolean, Optional (Default: false)
Constraints
- Must be attached to a sensor that provides one of player target, NPC target
LeaveFlock: Action (Stable)
NPC leaves flock currently in. Does nothing when not in flock.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
TriggerSpawnBeacon: Action (Stable)
Trigger the nearest spawn beacon matching the configuration id
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- BeaconSpawn (Stable)
- The beacon spawn config ID
- Type:
Asset, Required, Computable
- Range (Stable)
- The distance to search for a beacon to trigger
- Type:
Integer, Required, Computable - Constraint: Value must be greater than 0
- TargetSlot (Stable)
- A slot to use as the target for the spawned NPC. If omitted the NPC itself will be used
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
List of Core Components (debug)
Log: Action (Stable)
Log a message to console.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Message (Stable)
- Text to print to console.
- Type:
String, Required, Computable
Test: Action (Experimental)
Test action to exercise attribute evaluation (DO NOT USE)
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Boolean (Deprecated)
- Boolean True
- Type:
Boolean, Optional (Default: true), Computable
- Double (Deprecated)
- Double 0
- Type:
Double, Optional (Default: 0.0), Computable
- Float (Deprecated)
- Float 0
- Type:
Double, Optional (Default: 0.0), Computable
- Int (Deprecated)
- Int 0
- Type:
Integer, Optional (Default: 0.0), Computable
- String (Deprecated)
- String Test
- Type:
String, Optional (Default: Test), Computable
- Enum (Deprecated)
- Enum RoleDebugFlags Collisions
- Type:
Flag, Optional (Default: Collisions), Computable - Flag Values:
Overlaps: Log overlapping blocks when validating positionProbeBlockCollisions: Trace collisions down to block level when probingSteeringRole: Debug blended steering behaviour from role like avoidance/separationDisplayInternalId: Display the internal server ID for this entityPathfinder: Display pathfinder statusDisplayStamina: Display NPC Stamina as numerical valuesFlockDamage: Trace flock damage eventsCollisions: Trace collision information of motion controllersDisplayFreeSlots: Display free inventory slotsDisplayTime: Set display name to day timeDisplayName: Display the role name for this entityDisplayLightLevel: Display light levelsDisplayAnim: Display animation stateTraceSensorFailures: Trace failing sensorsDisplayHP: Display NPC HP as numerical valuesDisplayFlock: Set display name to flock stateDisplaySpeed: Display speed of entityValidateMath: Validate (some) math computations in movementVisSeparation: Visualize separation vectorDisplayState: Set display name to contents of stateTraceSuccess: Trace matched instructionsMotionControllerMove: Trace movement activity of motion controllersTraceFail: Trace failed instructionsDisplayCustom: Display custom debug information (generated by debug components)VisAvoidance: Visualize avoidance vectorsFlock: Trace flock eventsMotionControllerSteer: Trace steering activity of motion controllersBlockCollisions: Trace collisions down to block levelValidatePositions: Validate computed movement positions are not intersecting blocksDisplayTarget: Set display name to locked target typeBeaconMessages: Enable debugging of beacon message sending and receiving
- EnumSet (Deprecated)
- EnumSet Collisions Flock
- Type:
FlagSet, Optional (Default: [Flock, Collisions]), Computable - Flag Values:
Overlaps: Log overlapping blocks when validating positionProbeBlockCollisions: Trace collisions down to block level when probingSteeringRole: Debug blended steering behaviour from role like avoidance/separationDisplayInternalId: Display the internal server ID for this entityPathfinder: Display pathfinder statusDisplayStamina: Display NPC Stamina as numerical valuesFlockDamage: Trace flock damage eventsCollisions: Trace collision information of motion controllersDisplayFreeSlots: Display free inventory slotsDisplayTime: Set display name to day timeDisplayName: Display the role name for this entityDisplayLightLevel: Display light levelsDisplayAnim: Display animation stateTraceSensorFailures: Trace failing sensorsDisplayHP: Display NPC HP as numerical valuesDisplayFlock: Set display name to flock stateDisplaySpeed: Display speed of entityValidateMath: Validate (some) math computations in movementVisSeparation: Visualize separation vectorDisplayState: Set display name to contents of stateTraceSuccess: Trace matched instructionsMotionControllerMove: Trace movement activity of motion controllersTraceFail: Trace failed instructionsDisplayCustom: Display custom debug information (generated by debug components)VisAvoidance: Visualize avoidance vectorsFlock: Trace flock eventsMotionControllerSteer: Trace steering activity of motion controllersBlockCollisions: Trace collisions down to block levelValidatePositions: Validate computed movement positions are not intersecting blocksDisplayTarget: Set display name to locked target typeBeaconMessages: Enable debugging of beacon message sending and receiving
- Asset (Deprecated)
- Asset Sheep
- Type:
Asset, Optional (Default: Sheep), Computable
- DoubleArray (Deprecated)
- DoubleArray [1,2] 0-10
- Type:
Array, Optional (Default: [1.0, 2.0]), Computable, Element Type: Double
- StringArray (Deprecated)
- StringArray [a,b] 0-10
- Type:
Array, Optional (Default: [a, b]), Computable, Element Type: String
List of Core Components (entity)
Beacon: Sensor (Stable)
Checks to see if any messages have been broadcasted by nearby NPCs.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Message (Experimental)
- The message to listen for
- Type:
String, Required, Computable - Constraint: String must be not empty
- Range (Experimental)
- The max distance beacons should be received from
- Type:
Double, Optional (Default: 64.0), Computable - Constraint: Value must be greater than 0
- TargetSlot (Stable)
- A slot to store the sender as a target. If omitted no target will be stored
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
- ConsumeMessage (Stable)
- Whether the message should be consumed by this sensor
- Type:
Boolean, Optional (Default: true)
Provides
- Player target
- NPC target
- Dropped item target
Count: Sensor (Stable)
Check if there is a certain number of NPCs or players within a specific range
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Count (Stable)
- Specifies the allowed number of entities (inclusive)
- Type:
Array, Required, Computable, Element Type: integer - Constraint: Values must be greater or equal than 0, less or equal than 2147483647and in weakly ascending order
- Range (Stable)
- Range to find entities in (inclusive)
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- IncludeGroups (Stable)
- Match for NPCs in these groups
- Type:
AssetArray, Optional (Default: null), Element Type: TagSet
- ExcludeGroups (Stable)
- Never match NPCs in these groups
- Type:
AssetArray, Optional (Default: null), Element Type: TagSet
IgnoreForAvoidance: Action (Stable)
Set the target slot of an entity that should be ignored during avoidance
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- TargetSlot (Stable)
- The target slot containing the entity to be ignored
- Type:
String, Required, Computable - Constraint: String must be not empty
Kill: Sensor (Stable)
Return true if NPC made a kill. Target position is killed entity position.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- TargetSlot (Stable)
- The target slot to check if killed. If omitted, will accept any entity killed
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
Provides
- Vector position
Mob: Sensor (Stable)
Return true if entity matching specific attributes and filters is in range. Target is entity.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- MinRange (Stable)
- Minimum range to test entities in
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- Range (Stable)
- Maximum range to test entities in
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- LockOnTarget (Stable)
- Matched target becomes locked target
- Type:
Boolean, Optional (Default: false), Computable
- LockedTargetSlot (Stable)
- The target slot to use for locking on or unlocking
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String value must be either null or not empty
- AutoUnlockTarget (Stable)
- Unlock locked target when sensor not matching it anymore
- Type:
Boolean, Optional (Default: false), Computable
- OnlyLockedTarget (Stable)
- Test only locked target
- Type:
Boolean, Optional (Default: false), Computable
- IgnoredTargetSlot (Stable)
- The target slot to use for ignoring
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- UseProjectedDistance (Stable)
- Use the projected movement direction vector for distance, rather than the Euclidean distance
- Type:
Boolean, Optional (Default: false), Computable
- Prioritiser (Stable)
- A prioritiser for selecting results based on additional parameters
- Type:
ObjectRef, Optional (Default: null), Object Type: ISensorEntityPrioritiser
- Collector (Stable)
- A collector which can process all checked entities and act on them based on whether they match or not
- Type:
ObjectRef, Optional (Default: null), Object Type: ISensorEntityCollector
- Filters (Stable)
- A series of entity filter sensors to test
- Type:
Array, Optional (Default: null), Element Type: IEntityFilter
- GetPlayers (Stable)
- Test players
- Type:
Boolean, Optional (Default: false), Computable
- GetNPCs (Stable)
- Test mobs/NPCs
- Type:
Boolean, Optional (Default: true), Computable
- ExcludeOwnType (Stable)
- Exclude NPCs of same type as current NPC
- Type:
Boolean, Optional (Default: true), Computable
Constraints
- Range must be greater or equal than MinRange
- At least one of GetPlayers, GetNPCs must be true
Provides
- Player target
- NPC target
OverrideAttitude: Action (Stable)
Override this NPCs attitude towards the provided target for a given duration
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Attitude (Stable)
- The attitude to set
- Type:
Flag, Required, Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
- Duration (Stable)
- The duration to override for
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater than 0
Constraints
- Must be attached to a sensor that provides one of player target, NPC target
Player: Sensor (Stable)
Return true if player matching specific attributes and filters is in range. Target is player.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- MinRange (Stable)
- Minimum range to test entities in
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- Range (Stable)
- Maximum range to test entities in
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- LockOnTarget (Stable)
- Matched target becomes locked target
- Type:
Boolean, Optional (Default: false), Computable
- LockedTargetSlot (Stable)
- The target slot to use for locking on or unlocking
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String value must be either null or not empty
- AutoUnlockTarget (Stable)
- Unlock locked target when sensor not matching it anymore
- Type:
Boolean, Optional (Default: false), Computable
- OnlyLockedTarget (Stable)
- Test only locked target
- Type:
Boolean, Optional (Default: false), Computable
- IgnoredTargetSlot (Stable)
- The target slot to use for ignoring
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- UseProjectedDistance (Stable)
- Use the projected movement direction vector for distance, rather than the Euclidean distance
- Type:
Boolean, Optional (Default: false), Computable
- Prioritiser (Stable)
- A prioritiser for selecting results based on additional parameters
- Type:
ObjectRef, Optional (Default: null), Object Type: ISensorEntityPrioritiser
- Collector (Stable)
- A collector which can process all checked entities and act on them based on whether they match or not
- Type:
ObjectRef, Optional (Default: null), Object Type: ISensorEntityCollector
- Filters (Stable)
- A series of entity filter sensors to test
- Type:
Array, Optional (Default: null), Element Type: IEntityFilter
Constraints
- Range must be greater or equal than MinRange
Provides
- Player target
- NPC target
ReleaseTarget: Action (Stable)
Clear locked target for NPC.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- TargetSlot (Stable)
- The target slot to release
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String must be not empty
Self: Sensor (Stable)
Test if the NPC itself matches a set of entity filters
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Filters (Stable)
- A series of entity filter sensors to test
- Type:
Array, Required, Element Type: IEntityFilter
Provides
- Vector position
SetMarkedTarget: Action (Stable)
Explicitly sets a marked target in a given slot.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- TargetSlot (Stable)
- The target slot to set a target to.
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String must be not empty
Constraints
- Must be attached to a sensor that provides one of player target, NPC target
SetStat: Action (Stable)
Sets (or adds to) an entity stat on the NPC.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Stat (Stable)
- The entity stat to affect.
- Type:
Asset, Required, Computable
- Value (Stable)
- The value to set the stat to.
- Type:
Double, Required, Computable
- Add (Stable)
- Add the value to the existing value instead of setting it.
- Type:
Boolean, Optional (Default: false), Computable
Target: Sensor (Stable)
Test if given target matches a series of criteria and optional entity filters
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- TargetSlot (Stable)
- The target slot to check
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String must be not empty
- Range (Stable)
- Maximum range of locked target
- Type:
Double, Optional (Default: 1.7976931348623157E308), Computable - Constraint: Value must be greater than 0
- AutoUnlockTarget (Stable)
- Unlock locked target if match fails
- Type:
Boolean, Optional (Default: false), Computable
- Filters (Stable)
- A series of entity filter sensors to test
- Type:
Array, Optional (Default: null), Element Type: IEntityFilter
Provides
- Player target
- NPC target
List of Core Components (interaction)
CanInteract: Sensor (Stable)
Checks whether or not the player being iterated by the interaction instruction can interact with this NPC
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- ViewSector (Stable)
- View sector to test the player in
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- Attitudes (Stable)
- A set of attitudes to match
- Type:
FlagSet, Optional (Default: [NEUTRAL, FRIENDLY, REVERED]), Computable - Flag Values:
HOSTILE: is hostile towards the targetREVERED: reveres the targetFRIENDLY: is friendly towards the targetIGNORE: is ignoring the targetNEUTRAL: is neutral towards the target
Constraints
HasInteracted: Sensor (Stable)
Checks whether the currently iterated player in the interaction instruction has interacted with this NPC
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
Constraints
InteractionContext: Sensor (Stable)
Checks whether the currently iterated player in the interaction instruction has interacted with this NPC in the given context
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Context (Stable)
- The context of the interaction
- Type:
String, Required, Computable - Constraint: String must be not empty
Constraints
LockOnInteractionTarget: Action (Stable)
Locks on to the currently iterated player in the interaction instruction
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- TargetSlot (Stable)
- The target slot to use
- Type:
String, Optional (Default: LockedTarget), Computable - Constraint: String must be not empty
Constraints
SetInteractable: Action (Stable)
Set whether the currently iterated player in the interaction instruction should be able to interact with this NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Interactable (Stable)
- Toggle whether the currently iterated player in the interaction instruction should be able to interact with this NPC
- Type:
Boolean, Optional (Default: true), Computable
- Hint (Stable)
- The interaction hint translation key to show for this player (e.g. 'interactionHints.trade')
- Type:
String, Optional (Default: null)
- ShowPrompt (Stable)
- Whether to show the F-key interaction prompt. Set to false for contextual-only interactions (e.g. shearing with tools). Defaults to true.
- Type:
Boolean, Optional (Default: true)
Constraints
List of Core Components (items)
DropItem: Action (Stable)
Drop an item. Can be a specific item, or from a drop table
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Delay (Stable)
- Range of time to delay in seconds
- Type:
Array, Optional (Default: [1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- Item (Stable)
- A specific item to drop
- Type:
Asset, Optional (Default: null), Computable
- DropList (Stable)
- A reference to an item drop list
- Type:
Asset, Optional (Default: null), Computable
- ThrowSpeed (Stable)
- The throw speed to use
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater than 0 and less or equal than 3.4028234663852886e+38
- Distance (Stable)
- The range from which to pick a distance to throw the item
- Type:
Array, Optional (Default: [1.0, 1.0]), Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- DropSector (Stable)
- The sector to spread drops in relative to view direction of NPC in degrees.
- Type:
Array, Optional (Default: [0.0, 0.0]), Element Type: Double - Constraint: Values must be greater or equal than -360, less or equal than 360and in weakly ascending order
- PitchHigh (Stable)
- Whether to pitch high or pitch low instead
- Type:
Boolean, Optional (Default: false)
Constraints
- One (and only one) of Item, DropList must be provided
DroppedItem: Sensor (Stable)
Triggers if a given item is within a certain range of the NPC. Will match anything if Items and Attitudes are not defined, otherwise will match items meeting either criteria.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Range (Stable)
- The range within which to look
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- ViewSector (Stable)
- View sector in which to look
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- LineOfSight (Stable)
- Requires line of sight to item
- Type:
Boolean, Optional (Default: false), Computable
- Items (Stable)
- A list of glob item patterns to match. If omitted, will match any item
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: Item
- Attitudes (Stable)
- Attitudes to match
- Type:
FlagSet, Optional (Default: []), Computable - Flag Values:
Neutral: NeutralIgnore: IgnoreLike: LikeLove: LoveDislike: Dislike
Provides
- Dropped item target
Inventory: Action (Stable)
Add or remove a number of items from an inventory. Can also be used to equip them.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Operation (Stable)
- Operation to perform
- Type:
Flag, Optional (Default: Add), Computable - Flag Values:
Add: Add items to inventoryRemoveHeldItem: Destroy the held itemSetHotbar: Sets the hotbar item in a specific slotEquip: Equip item as weapon or armourClearHeldItem: Clear the held itemEquipOffHand: Equips the item from a specific off-hand slotRemove: Remove items from inventoryEquipHotbar: Equips the item from a specific hotbar slotSetOffHand: Sets the off-hand item in a specific slot
- Count (Stable)
- Number of items to add/remove
- Type:
Integer, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- Item (Stable)
- Item type to add, remove, or equip
- Type:
Asset, Optional (Default: ), Computable
- UseTarget (Stable)
- Use the sensor-provided target for the action
- Type:
Boolean, Optional (Default: true), Computable
- Slot (Stable)
- The hotbar or off-hand to effect. Only valid for Hotbar/OffHand Set/Equip operations
- Type:
Integer, Optional (Default: 0.0), Computable
Constraints
- If UseTarget is true, must be attached to a sensor that provides one of player target, NPC target
PickUpItem: Action (Stable)
Pick up an item. In hoover mode, will match to the Item array. Otherwise, requires a target to be provided e.g. by a DroppedItemSensor
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Delay (Stable)
- Range of time to delay in seconds
- Type:
Array, Optional (Default: [1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- Range (Stable)
- The range the item will be picked up from
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- StorageTarget (Experimental)
- Where to prioritise putting the item
- Type:
Flag, Optional (Default: Hotbar), Computable - Flag Values:
Destroy: Destroy the itemHotbar: Prioritise hotbarInventory: Prioritise inventory
- Hoover (Stable)
- Suck up all items in range with optional cooldown. Can be filtered with a list of glob patterns. Ignored outside hoover mode
- Type:
Boolean, Optional (Default: false)
- Items (Stable)
- A list of glob item patterns to match for hoover mode. If omitted, will match any item. Ignored outside hoover mode
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: Item
Constraints
- If Hoover is false, must be attached to a sensor that provides dropped item target
List of Core Components (lifecycle)
Age: Sensor (Stable)
Triggers when the age of the NPC falls between a certain range. Range is defined in terms of period (e.g. 1Y2M3W4D - 1 year, 2 months, 3 weeks, 4 days) or duration (e.g. 2DT3H4M - 2 days, 3 hours, 4 minutes)
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- AgeRange (Stable)
- The age range within which to trigger
- Type:
Array, Required, Computable, Element Type: TemporalAmount - Constraint: Values must be greater or equal than a few seconds, less or equal than 5879611 years, in strictly ascending order and either all Periods or all Durations
DelayDespawn: Action (Stable)
Delay the despawning cycle for some amount of time
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Time (Stable)
- How long to set the to delay
- Type:
Double, Required - Constraint: Value must be greater than 0
- Shorten (Stable)
- Set the delay to either the current delay or the given time. Whatever is smaller.
- Type:
Boolean, Optional (Default: false)
Despawn: Action (Stable)
Trigger the NPC to start the despawning cycle. If the script contains a despawn sensor it will run that action/motion before removing.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Force (Stable)
- Force the NPC to remove automatically
- Type:
Boolean, Optional (Default: false)
Die: Action (Stable)
Kill the NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
Remove: Action (Stable)
Erase the target entity from the world (no death animation).
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- UseTarget (Stable)
- Use the sensor-provided target for the action
- Type:
Boolean, Optional (Default: true), Computable
Constraints
- If UseTarget is true, must be attached to a sensor that provides one of player target, NPC target
Role: Action (Stable)
Change the Role of the NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Role (Stable)
- The name of the Role to change to
- Type:
Asset, Required, Computable
- ChangeAppearance (Stable)
- Whether the appearance of the new Role should be used
- Type:
Boolean, Optional (Default: true), Computable
- State (Stable)
- State name to set
- Type:
String, Optional (Default: null), Computable - Constraint: String must be a valid state string. A main state must be included before the period (e.g. Main.Test). State strings consist of a main state and a sub state (e.g. Main.Test). If nested within a substate, the main state may be omitted (e.g. .Test) when referencing.
Spawn: Action (Experimental)
Spawn an NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- SpawnDirection (Experimental)
- Direction of spawn cone relative to view direction (in degrees)
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than -180 and less or equal than 180
- SpawnAngle (Experimental)
- Cone width of spawn direction (in degrees)
- Type:
Double, Optional (Default: 360.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- FanOut (Experimental)
- Fan NPCs out equally over angle
- Type:
Boolean, Optional (Default: false), Computable
- DistanceRange (Stable)
- Distance from spawner to spawn
- Type:
Array, Optional (Default: [1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 128and in weakly ascending order
- CountRange (Stable)
- Number of NPCs to spawn
- Type:
Array, Optional (Default: [5, 5]), Computable, Element Type: integer - Constraint: Values must be greater than 0, less or equal than 100and in weakly ascending order
- DelayRange (Stable)
- Time between consecutive spawns in seconds
- Type:
Array, Optional (Default: [0.25, 0.25]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- Kind (Experimental)
- NPC role to spawn
- Type:
String, Required, Computable - Constraint: String must be not empty
- Flock (Stable)
- Flock definition to spawn
- Type:
Asset, Optional (Default: null), Computable
- LaunchAtTarget (WorkInProgress)
- Launch the spawned NPC at target position/entity
- Type:
Boolean, Optional (Default: false), Computable
- PitchHigh (Stable)
- If launching at a target, use high pitch
- Type:
Boolean, Optional (Default: true), Computable
- LaunchSpread (Stable)
- The radius of the circle centred on the target within which to spread thrown NPCs
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- JoinFlock (Stable)
- Whether to join the parent NPC's flock
- Type:
Boolean, Optional (Default: false), Computable
- SpawnState (Stable)
- An optional state to set on the spawned NPC if it exists
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- SpawnSubState (Stable)
- An optional substate to set on the spawned NPC if it exists
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
Constraints
- If LaunchAtTarget is true, must be attached to a sensor that provides one of player target, NPC target, dropped item target, vector position
List of Core Components (message)
Beacon: Action (Experimental)
Let the NPC send out a message to a target group of entities within a certain distance.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Message (Experimental)
- Message to send to targets
- Type:
String, Required, Computable - Constraint: String must be not empty
- Range (Experimental)
- The maximum range to send the message
- Type:
Double, Optional (Default: 64.0) - Constraint: Value must be greater than 0
- TargetGroups (Experimental)
- The target group(s) to send the message to
- Type:
AssetArray, Required, Computable, Element Type: TagSet
- SendTargetSlot (Stable)
- The target slot of the marked entity to send. Omit to send own position
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- ExpirationTime (Experimental)
- The number of seconds that the message should last and be acknowledged by the receiving NPC. -1 represents infinite time.
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0 or equal -1
- SendCount (Experimental)
- Tne number of entities to send the message to. -1 will send to all. Entities will be chosen with a roughly even random distribution using reservoir sampling
- Type:
Integer, Optional (Default: -1) - Constraint: Value must be greater than 0 or equal -1
Notify: Action (Stable)
Directly notifies a target NPC with a beacon message
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Message (Stable)
- The message to send
- Type:
String, Required, Computable - Constraint: String must be not empty
- ExpirationTime (Experimental)
- The number of seconds that the message should last and be acknowledged by the receiving NPC. -1 represents infinite time.
- Type:
Double, Optional (Default: 1.0) - Constraint: Value must be greater or equal than 0 or equal -1
- UseTargetSlot (Stable)
- A marked target to send to instead of the target provided by a sensor. Omit to use the target provided by the sensor.
- Type:
String, Optional (Default: null) - Constraint: String value must be either null or not empty
Constraints
- If UseTargetSlot is false, must be attached to a sensor that provides NPC target
List of Core Components (movement)
Crouch: Action (Stable)
Set NPC crouching state
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Crouch (Stable)
- True for crouching, false for non-crouching
- Type:
Boolean, Optional (Default: true), Computable
InAir: Sensor (Stable)
Return true if NPC is not on ground. No target is returned.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
MotionController: Sensor (Experimental)
Test if specific motion controller is active.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- MotionController (Experimental)
- Motion controller name to test for
- Type:
String, Required - Constraint: String must be not empty
Nav: Sensor (Stable)
Queries navigation state
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- NavStates (Stable)
- Trigger when path finder is in one of the states or empty to match all
- Type:
FlagSet, Optional (Default: []), Computable - Flag Values:
PROGRESSING: Moving or computing a pathINIT: Doing nothingAT_GOAL: Reached targetBLOCKED: Can't advance any furtherABORTED: Search stopped but target not reachedDEFER: Delaying/unable to advance
- ThrottleDuration (Stable)
- Minimum time in seconds the path finder isn't able to reach target or 0 to ignore
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- TargetDelta (Stable)
- Minimum distance target has moved since path was computed or 0 to ignore
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
OnGround: Sensor (Stable)
Return true if NPC is on ground. No target is returned.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
OverrideAltitude: Action (Stable)
Temporarily override the preferred altitude of a flying NPC. Must be refreshed each tick
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- DesiredAltitudeRange (Stable)
- The desired altitude range
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
RecomputePath: Action (Stable)
Force recomputation of path finder solution
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
List of Core Components (npc)
CompleteTask: Action (Stable)
Complete a task. Tasks are picked based on those provided to SensorCanInteract.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Slot (Stable)
- The animation slot to play on
- Type:
Flag, Required - Flag Values:
Status: StatusAction: ActionFace: Face
- Animation (Stable)
- The animation ID to play
- Type:
String, Optional (Default: null), Computable
- PlayAnimation (Stable)
- Whether or not to play the animation associated with completing this task
- Type:
Boolean, Optional (Default: true), Computable
Constraints
HasTask: Sensor (Stable)
Checks whether or not the player being iterated by the interaction instruction has any of the given tasks
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- TasksById (Stable)
- Completable tasks to match by name
- Type:
Array, Required, Computable, Element Type: String - Constraint: String array must not be empty
Constraints
Mount: Action (Stable)
Enable the player to mount the entity
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- AnchorX (Stable)
- The X anchor pos
- Type:
Double, Required, Computable
- AnchorY (Stable)
- The Y anchor pos
- Type:
Double, Required, Computable
- AnchorZ (Stable)
- The Z anchor pos
- Type:
Double, Required, Computable
- MovementConfig (Stable)
- The MovementConfig to use for this mount
- Type:
String, Required, Computable
OpenBarterShop: Action (Stable)
Open the barter shop UI for the current player
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Shop (Stable)
- The barter shop to open
- Type:
Asset, Required, Computable
Constraints
OpenShop: Action (Stable)
Open the shop UI for the current player
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Shop (Stable)
- The shop to open
- Type:
Asset, Required, Computable
Constraints
StartObjective: Action (Stable)
Start the given objective for the currently iterated player in the interaction instruction
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Objective (Stable)
- The task to start
- Type:
Asset, Required, Computable
Constraints
List of Core Components (path)
MakePath: Action (WorkInProgress)
Constructs a transient path for the NPC based on a series of rotations and distances
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Path (WorkInProgress)
- A transient path definition
- Type:
ObjectRef, Required, Object Type: Path
Path: Sensor (Stable)
Find a path based on various criteria. Provides the position of the nearest waypoint and the path itself
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Path (Stable)
- The name of the path. If left blank, will find the nearest path
- Type:
String, Optional (Default: null), Computable
- Range (Stable)
- The range to test to nearest waypoint. 0 is unlimited
- Type:
Double, Optional (Default: 10.0), Computable - Constraint: Value must be greater than 0
- PathType (Stable)
- The type of path to search for
- Type:
Flag, Optional (Default: AnyPrefabPath), Computable - Flag Values:
CurrentPrefabPath: a path from the prefab the NPC spawned inTransientPath: a transient path (testing purposes only)AnyPrefabPath: a path from any prefabWorldPath: named world path
Constraints
- If PathType is WorldPath, the following must apply to Path: String must be not empty
Provides
- Vector position
- Path
List of Core Components (statemachine)
IsBusy: Sensor (Stable)
Tests if an NPC is in one of the defined Busy States.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
ParentState: Action (Stable)
Set the main state of NPC from within a component
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- State (Stable)
- The alias of the external state to set, as defined by _ImportStates in parameters
- Type:
String, Required - Constraint: String must be a valid state string. A main state must be included before the period (e.g. Main.Test). Only the main state can be included.
Constraints
- May only be included within a component
State: Action (Stable)
Set state of NPC. The state can be queried with a sensor later on.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- State (Stable)
- State name to set
- Type:
String, Required - Constraint: String must be a valid state string. State strings consist of a main state and a sub state (e.g. Main.Test). If nested within a substate, the main state may be omitted (e.g. .Test) when referencing.
- ClearState (Stable)
- Clear the state of things like set once flags on transition
- Type:
Boolean, Optional (Default: true)
Constraints
State: Sensor (Stable)
Signal if NPC is set to specific state.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- State (Stable)
- State to compare to
- Type:
String, Required - Constraint: String must be a valid state string. State strings consist of a main state and a sub state (e.g. Main.Test). If nested within a substate, the main state may be omitted (e.g. .Test) when referencing.
- IgnoreMissingSetState (Stable)
- Override and ignore checks for matching setter action that sets this state. Intended for use in cases such as the FlockState action which sets the state via another NPC
- Type:
Boolean, Optional (Default: false)
ToggleStateEvaluator: Action (Stable)
Enable or disable the NPC's state evaluator
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether or not to enable the state evaluator
- Type:
Boolean, Required
List of Core Components (timer)
Alarm: Sensor (Stable)
Check the state of a named alarm and optionally clear it if the time has passed
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Name (Stable)
- The name of the alarm to check
- Type:
String, Required, Computable - Constraint: String must be not empty
- State (Stable)
- The state to check for
- Type:
Flag, Required, Computable - Flag Values:
SET: SetUNSET: Not setPASSED: Passed
- Clear (Stable)
- Whether to clear the alarm (unset it) if it has passed
- Type:
Boolean, Optional (Default: false), Computable
SetAlarm: Action (Stable)
Set a named alarm on the NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the alarm to set
- Type:
String, Required, Computable - Constraint: String must be not empty
- DurationRange (Stable)
- The duration range from which to pick a duration to set the alarm for. [ "P0D", "P0D" ] will unset the alarm
- Type:
Array, Required, Computable, Element Type: TemporalAmount - Constraint: Values must be greater or equal than a few seconds, less or equal than 5879611 years, in weakly ascending order and either all Periods or all Durations
Timer: Sensor (Stable)
Tests if a timer exists and the value is within a certain range.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
- State (Stable)
- The timer's state to check
- Type:
Flag, Optional (Default: ANY) - Flag Values:
PAUSED: PausedRUNNING: RunningSTOPPED: StoppedANY: Any
- TimeRemainingRange (Stable)
- The acceptable remaining time on the timer.
- Type:
Array, Optional (Default: [0.0, 1.7976931348623157E308]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
TimerContinue: Action (Stable)
Continue a timer
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
TimerModify: Action (Stable)
Modify values of a timer
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
- AddValue (Stable)
- Add value to the timer
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- MaxValue (Stable)
- Set the restart value range the timer can have. If [ 0, 0 ] (default) it will be ignored
- Type:
Array, Optional (Default: [0.0, 0.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308
- Rate (Stable)
- Set the rate at which the timer will decrease. If 0 (default) it will be ignored
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- SetValue (Stable)
- Set the value of the timer. If 0 (default) it will be ignored
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- Repeating (Stable)
- Whether to repeat the timer when countdown finishes
- Type:
Boolean, Optional (Default: false), Computable
TimerPause: Action (Stable)
Pause a timer
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
TimerRestart: Action (Stable)
Restart a timer. Will be set to the original initial values.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
TimerStart: Action (Stable)
Start a timer
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
- StartValueRange (Stable)
- The range from which to pick an initial value to start at
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- RestartValueRange (Stable)
- The range from which to pick a value when the timer is restarted. The upper bound is also the timer max
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- Rate (Stable)
- The rate at which the timer will decrease
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- Repeating (Stable)
- Whether to repeat the timer when countdown finishes
- Type:
Boolean, Optional (Default: false), Computable
TimerStop: Action (Stable)
Stop a timer
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the timer
- Type:
String, Required, Computable - Constraint: String must be not empty
List of Core Components (utility)
AdjustPosition: Sensor (Stable)
Perform adjustments to the wrapped sensor's returned position
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor to wrap
- Type:
ObjectRef, Required, Object Type: Sensor
- Offset (Stable)
- The offset to apply to the returned position from the sensor
- Type:
Array, Required, Computable, Element Type: Double
Provides
- Vector position
And: Sensor (Stable)
Evaluate all sensors and execute action only when all sensor signal true. Target is provided by first sensor.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensors (Stable)
- List of sensors
- Type:
Array, Required, Element Type: Sensor - Constraint: Array must not be empty
- AutoUnlockTargetSlot (Stable)
- A target slot to unlock when sensor doesn't match anymore
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
Any: Sensor (Stable)
Sensor always signals true but doesn't return a target.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
Eval: Sensor (Experimental)
Evaluate javascript expression and test truth value. Current values accessible are 'health' and 'blocked'.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Expression (Experimental)
- Javascript expression
- Type:
String, Required - Constraint: String must be not empty
Flag: Sensor (Stable)
Test if a named flag is set or not
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Name (Stable)
- The name of the flag
- Type:
String, Required, Computable - Constraint: String must be not empty
- Set (Stable)
- Whether the flag should be set or not
- Type:
Boolean, Optional (Default: true), Computable
Not: Sensor (WorkInProgress)
Return true when the given sensor test fails.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor to test
- Type:
ObjectRef, Required, Object Type: Sensor
- UseTargetSlot (Stable)
- A locked target slot to feed to action (if available)
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- AutoUnlockTargetSlot (Stable)
- A target slot to unlock when sensor doesn't match anymore
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
Nothing: Action (Stable)
Do nothing. Used often as placeholder.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
Or: Sensor (Stable)
Evaluate sensors and execute action when at least one sensor signals true. Target is provided by first sensor signalling true.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensors (Stable)
- List of sensors
- Type:
Array, Required, Element Type: Sensor - Constraint: Array must not be empty
- AutoUnlockTargetSlot (Stable)
- A target slot to unlock when sensor doesn't match anymore
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
Random: Action (Stable)
Execute a single random action from a list of weighted actions.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Actions (Stable)
- List of possible actions
- Type:
Array, Required, Element Type: WeightedAction
Random: Sensor (Stable)
Alternates between returning true and false for specified random durations
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- TrueDurationRange (Stable)
- The duration range to pick a random period to return true
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- FalseDurationRange (Stable)
- The duration range to pick a random period to return false
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
ResetInstructions: Action (Stable)
Force reset instructionList, either by name, or as a whole
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Instructions (Stable)
- The instructionList to reset. If left empty, will reset all instructionList
- Type:
Array, Optional (Default: null), Computable, Element Type: String - Constraint: Strings in array must not be empty
Sequence: Action (Stable)
Execute list of actions.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Blocking (Stable)
- Do not execute an action unless the previous action could execute
- Type:
Boolean, Optional (Default: false)
- Atomic (Stable)
- Only execute actions if all actions can be executed
- Type:
Boolean, Optional (Default: false)
- Actions (Stable)
- List of actions
- Type:
ObjectRef, Required, Object Type: ActionList
SetFlag: Action (Stable)
Set a named flag to a boolean value
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Name (Stable)
- The name of the flag
- Type:
String, Required, Computable - Constraint: String must be not empty
- SetTo (Stable)
- The value to set the flag to
- Type:
Boolean, Optional (Default: true), Computable
Switch: Sensor (Stable)
Check if a computed boolean is true
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Switch (Stable)
- The switch to check
- Type:
Boolean, Required, Computable
Timeout: Action (Stable)
Delay an action by a time which is randomly picked between a given minimum and maximum value.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Delay (Stable)
- Range of time to delay in seconds
- Type:
Array, Optional (Default: [1.0, 1.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 1.7976931348623157e+308and in weakly ascending order
- DelayAfter (Stable)
- Delay after executing the action
- Type:
Boolean, Optional (Default: false)
- Action (Stable)
- Optional action to delay
- Type:
ObjectRef, Optional (Default: null), Object Type: Action
ValueProviderWrapper: Sensor (Stable)
Wraps a sensor and passes down some additional parameter overrides pulled from the value store
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- PassValues (Stable)
- Used to enable/disable passing of values in components
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor to wrap
- Type:
ObjectRef, Required, Object Type: Sensor
- ValueToParameterMappings (Stable)
- The mappings of values to override parameters
- Type:
Array, Required, Element Type: ValueToParameterMapping - Constraint: Array must not be empty
List of Core Components (world)
Block: Sensor (Experimental)
Checks for one of a set of blocks in the nearby area and caches the result until explicitly reset or the targeted block changes/is removed. All block sensors with the same sought blockset share the same targeted block once found
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Range (Stable)
- The range to search for the blocks in
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0 and less or equal than 1.7976931348623157e+308
- MaxHeight (Stable)
- The vertical range to search for the blocks in
- Type:
Double, Optional (Default: 4.0), Computable - Constraint: Value must be greater than 0 and less or equal than 1.7976931348623157e+308
- Blocks (Stable)
- The set of blocks to search for
- Type:
Asset, Required, Computable
- Random (Stable)
- Whether to pick at random from within the matched blocks or pick the closest
- Type:
Boolean, Optional (Default: false), Computable
- Reserve (Stable)
- Whether to reserve the found block to prevent other NPCs selecting it
- Type:
Boolean, Optional (Default: false), Computable
Provides
- Vector position
BlockChange: Sensor (Stable)
Matches when a block from a blockset within a certain range is changed or interacted with
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Range (Stable)
- Max range to listen in
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- SearchType (Stable)
- Whether to listen for events triggered by players, npcs, or both in a certain order
- Type:
Flag, Optional (Default: PlayerOnly), Computable - Flag Values:
NpcOnly: search only for events triggered by npcsPlayerFirst: search for events triggered by players firstPlayerOnly: search only for events triggered by playersNpcFirst: search for events triggered by npcs first
- TargetSlot (Stable)
- A target slot to place the target in. If omitted, no slot will be used
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- BlockSet (Stable)
- Block set to listen for
- Type:
Asset, Required, Computable
- EventType (Stable)
- The event type to listen for
- Type:
Flag, Optional (Default: DAMAGE), Computable - Flag Values:
DESTRUCTION: On block destructionINTERACTION: On block use interactionDAMAGE: On block damage
Provides
- Player target
- NPC target
BlockType: Sensor (Stable)
Checks if the block at the given position matches the provided block set
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Sensor (Stable)
- Sensor to wrap
- Type:
ObjectRef, Required, Object Type: Sensor
- BlockSet (Stable)
- Block set to check against
- Type:
Asset, Required, Computable
CanPlaceBlock: Sensor (Stable)
Test if the currently set block can be placed at the relative position given direction and offset
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Direction (Stable)
- The direction to place relative to heading
- Type:
Flag, Optional (Default: Forward), Computable - Flag Values:
Left: LeftBackward: BackwardRight: RightForward: Forward
- Offset (Stable)
- The offset to place at
- Type:
Flag, Optional (Default: BodyPosition), Computable - Flag Values:
BodyPosition: BodyPositionFootPosition: FootPositionHeadPosition: HeadPosition
- RetryDelay (Stable)
- The amount of time to delay if a placement fails before trying to place something again
- Type:
Double, Optional (Default: 5.0), Computable - Constraint: Value must be greater than 0
- AllowEmptyMaterials (Stable)
- Whether it should be possible to replace blocks that have empty material
- Type:
Boolean, Optional (Default: false), Computable
Provides
- Vector position
EntityEvent: Sensor (Stable)
Matches when an entity from a specific NPC group within a certain range is damaged, killed, or interacted with
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Range (Stable)
- Max range to listen in
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- SearchType (Stable)
- Whether to listen for events triggered by players, npcs, or both in a certain order
- Type:
Flag, Optional (Default: PlayerOnly), Computable - Flag Values:
NpcOnly: search only for events triggered by npcsPlayerFirst: search for events triggered by players firstPlayerOnly: search only for events triggered by playersNpcFirst: search for events triggered by npcs first
- TargetSlot (Stable)
- A target slot to place the target in. If omitted, no slot will be used
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
- NPCGroup (Stable)
- NPC group to listen for
- Type:
Asset, Required, Computable
- EventType (Stable)
- The event type to listen for
- Type:
Flag, Optional (Default: DAMAGE), Computable - Flag Values:
DEATH: On dyingINTERACTION: On use interactionDAMAGE: On taking damage
- FlockOnly (Stable)
- Whether to only listen for flock events
- Type:
Boolean, Optional (Default: false), Computable
Provides
- Player target
- NPC target
InWater: Sensor (Stable)
Check if NPC is currently in water
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
Leash: Sensor (Stable)
Triggers when the NPC is outside a specified range from the leash point
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Range (Stable)
- The farthest distance allowed from the leash point
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
Provides
- Vector position
Light: Sensor (Stable)
Check the light levels of the block an entity is standing on. Can test light intensity, sky light or block channel levels.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- LightRange (Stable)
- The light intensity percentage range
- Type:
Array, Optional (Default: [0.0, 100.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 100and in weakly ascending order
- SkyLightRange (Stable)
- The sky light percentage range
- Type:
Array, Optional (Default: [0.0, 100.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 100and in weakly ascending order
- SunlightRange (Stable)
- The sunlight percentage range
- Type:
Array, Optional (Default: [0.0, 100.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 100and in weakly ascending order
- RedLightRange (Stable)
- The red light percentage range
- Type:
Array, Optional (Default: [0.0, 100.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 100and in weakly ascending order
- GreenLightRange (Stable)
- The green light percentage range
- Type:
Array, Optional (Default: [0.0, 100.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 100and in weakly ascending order
- BlueLightRange (Stable)
- The blue light percentage range
- Type:
Array, Optional (Default: [0.0, 100.0]), Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 100and in weakly ascending order
- UseTargetSlot (Stable)
- A target slot to check. If omitted, will check self
- Type:
String, Optional (Default: null), Computable - Constraint: String value must be either null or not empty
PlaceBlock: Action (Stable)
Place a block (chosen by another action) at a position returned by a Sensor if close enough
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Range (Stable)
- The range to target position before block will be placed
- Type:
Double, Optional (Default: 3.0), Computable - Constraint: Value must be greater than 0
- AllowEmptyMaterials (Stable)
- Whether it should be possible to replace blocks that have empty material
- Type:
Boolean, Optional (Default: false), Computable
Constraints
- Must be attached to a sensor that provides one of vector position
ReadPosition: Sensor (Stable)
Read a stored position with some conditions
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Slot (Stable)
- The slot to read the position from
- Type:
String, Required, Computable - Constraint: String must be not empty
- MinRange (Stable)
- Minimum range from stored position
- Type:
Double, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
- Range (Stable)
- Maximum range from stored position
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- UseMarkedTarget (Stable)
- Whether to read from a marked target slot instead of a position slot
- Type:
Boolean, Optional (Default: false), Computable
Provides
- Vector position
ResetBlockSensors: Action (Stable)
Resets a specific block sensor by name, or all block sensors by clearing the current targeted block
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- BlockSets (Stable)
- The searched blocksets to reset block sensors for. If left empty, will reset all block sensors and found blocks
- Type:
AssetArray, Optional (Default: null), Computable, Element Type: BlockSet
ResetPath: Action (Stable)
Resets the current patrol path this NPC follows.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
ResetSearchRays: Action (Stable)
Resets a specific search ray sensor cached position by name, or all search ray sensors
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Names (Stable)
- The search ray sensor ids. If left empty, will reset all search ray sensors
- Type:
Array, Optional (Default: null), Computable, Element Type: String - Constraint: Strings in array must not be empty
SearchRay: Sensor (Stable)
Fire a ray at a specific angle to see if what it hits matches a given sought block
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Name (Stable)
- The id of this search ray sensor so the position can be cached
- Type:
String, Required, Computable - Constraint: String must be not empty
- Angle (Stable)
- Angle to fire the ray. Horizontal is 0. Positive is downwards
- Type:
Double, Required, Computable - Constraint: Value must be greater or equal than -90 and less or equal than 90
- Range (Stable)
- How far to search
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0 and less or equal than 96
- Blocks (Stable)
- The blockset to search for
- Type:
Asset, Required, Computable
- MinRetestAngle (Stable)
- The minimum change in NPC rotation before rays stop being throttled
- Type:
Double, Optional (Default: 5.0), Computable - Constraint: Value must be greater or equal than 0 and less or equal than 360
- MinRetestMove (Stable)
- The minimum distance the NPC needs to move while facing the same direction before rays stop being throttled
- Type:
Double, Optional (Default: 1.0), Computable - Constraint: Value must be greater than 0
- ThrottleTime (Stable)
- The delay between retests when an NPC is facing the same direction
- Type:
Double, Optional (Default: 0.5), Computable - Constraint: Value must be greater than 0
Provides
- Vector position
SetBlockToPlace: Action (Stable)
Set the block type the NPC will place
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Block (Stable)
- The block item type
- Type:
Asset, Required, Computable
SetLeashPosition: Action (Stable)
Sets the NPCs current position to the spawn/leash position to be used with the Leash Sensor.
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- ToCurrent (Stable)
- Set to the NPCs current position.
- Type:
Boolean, Optional (Default: false)
- ToTarget (Stable)
- Set to the target position.
- Type:
Boolean, Optional (Default: false)
Constraints
- At least one of ToCurrent, ToTarget must be true
- If ToTarget is true, must be attached to a sensor that provides one of player target, NPC target, dropped item target
StorePosition: Action (Stable)
Store the position from the attached sensor
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- Slot (Stable)
- The slot to store the position in
- Type:
String, Required, Computable - Constraint: String must be not empty
Time: Sensor (Stable)
Check if the day/year time is within some specified time. If you want to check a range of time which crosses through midnight and switches to the next day, use the greater time as the min value and the lesser value as the max value.
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Period (Stable)
- The time period to trigger within
- Type:
Array, Required, Computable, Element Type: Double - Constraint: Values must be greater or equal than 0, less or equal than 24
- CheckDay (Stable)
- Check the day time. When using a double the values go from [.00, .99]. Don't get confused with there only being 60 minutes in an hour.
- Type:
Boolean, Optional (Default: true)
- CheckYear (WorkInProgress)
- Check the year time. When using a double the values go from [.00, .99]. Don't get confused with there only being 60 minutes in an hour.
- Type:
Boolean, Optional (Default: false)
- ScaleDayTimeRange (Stable)
- Whether to use a relative scale for the day time. Sunrise will be at relative 6, Noon at 12, and Sunset at 18, regardless of actual in-game time
- Type:
Boolean, Optional (Default: true)
TriggerSpawners: Action (Stable)
Trigger all, or up to a certain number of manual spawn markers in a radius around the NPC
Attributes
- Once (Stable)
- Execute only once
- Type:
Boolean, Optional (Default: false)
- SpawnMarker (Stable)
- The spawn marker type to trigger
- Type:
Asset, Optional (Default: null), Computable
- Range (Stable)
- The range within which to trigger spawn markers
- Type:
Double, Required, Computable - Constraint: Value must be greater than 0
- Count (Stable)
- The number of markers to randomly trigger (0 will trigger all matching validators)
- Type:
Integer, Optional (Default: 0.0), Computable - Constraint: Value must be greater or equal than 0
Weather: Sensor (Stable)
Matches the current weather at the NPCs position against a set of weather globs
Attributes
- Once (Stable)
- Sensor only triggers once
- Type:
Boolean, Optional (Default: false)
- Enabled (Stable)
- Whether this sensor should be enabled on the NPC
- Type:
Boolean, Optional (Default: true), Computable
- Weathers (Stable)
- The glob patterns to match against weather
- Type:
AssetArray, Required, Computable, Element Type: Weather