Baldi's Basics Plus Glue API
Modding API for Baldi's Basics Plus
Loading...
Searching...
No Matches
BBPGlue.API.BBPNpc Class Reference

Wraps a BB+ NPC instance and exposes common NPC, navigation, entity, and sprite controls. More...

Inheritance diagram for BBPGlue.API.BBPNpc:

Public Member Functions

 BBPNpc (object? raw)
 Creates a wrapper around a raw NPC instance.
void ClearDestination ()
 Clears the NPC's current destination.
void ClearGuilt ()
 Clears the NPC's guilt state.
void Despawn ()
 Despawns the NPC.
void DestinationEmpty ()
 Notifies the NPC that its destination is empty.
float DistanceCheck (float value)
 Calls the NPC distance check.
void FindPath (Vector3 start, Vector3 target)
 Finds a path from a custom start position to a target position.
void FindPath (Vector3 target)
 Finds a path to the target position.
void FindPathAvoid (Vector3 target, Vector3 avoid)
 Finds a path to the target while avoiding a position.
void Flip ()
 Flips the NPC entity.
void Hear (GameObject source, Vector3 position, int value)
 Makes the NPC hear a sound.
void Hear (Vector3 position, int value)
 Makes the NPC hear a sound without a source GameObject.
void Initialize ()
 Initializes the NPC.
void KillAllForces ()
 Clears all forces applied to the NPC entity.
void MadeNavigationDecision ()
 Notifies the NPC that it made a navigation decision.
void ManuallyAppendDestinationPoint (Vector3 position)
 Appends a destination point to the NPC navigator.
void SentToDetention ()
 Calls the NPC detention handler.
void SetBlinded (bool blinded)
 Sets whether the NPC entity is blinded.
void SetFrozen (bool frozen)
 Freezes or unfreezes the NPC entity.
void SetHidden (bool hidden)
 Sets whether the NPC entity is hidden.
void SetRoomAvoidance (bool value)
 Enables or disables room avoidance for NPC pathfinding.
void SetSpeed (float speed)
 Sets the NPC navigator speed.
void SetSprite (Sprite sprite)
 Sets the sprite used by all NPC sprite renderers.
void SetSpriteBaseActive (bool active)
 Shows or hides the NPC sprite root object.
void SetSpriteColor (Color color)
 Sets the color used by all NPC sprite renderers.
void SetVerticalScale (float scale)
 Sets the NPC entity's vertical scale.
void SetVisible (bool visible)
 Sets whether the NPC entity is visible.
void Sighted ()
 Calls the NPC sighted handler.
void SkipCurrentDestinationPoint ()
 Skips the NPC navigator's current destination point.
void Squish (float time)
 Squishes the NPC entity for a duration.
void TargetPosition (Vector3 target)
 Sends a target position to the NPC.
void Teleport (Vector3 position)
 Teleports the NPC to a position.
void TeleportToPlayer ()
 Teleports the NPC to the player position.
void Unsighted ()
 Calls the NPC unsighted handler.
void Unsquish ()
 Removes the NPC entity's squished state.
void WanderRandom ()
 Makes the NPC wander to a random destination.
void WanderRounds ()
 Makes the NPC use its round-wandering behavior.

Properties

float Acceleration [get, set]
 Gets or sets the NPC navigator's acceleration.
Collider?[] BaseTriggers [get, set]
 Gets or sets the NPC base trigger colliders.
object? BehaviorStateMachine [get]
 Gets the NPC behavior state machine.
bool Blinded [get]
 Gets whether the NPC is blinded.
string BrokenRule [get]
 Gets the rule currently associated with this NPC.
float CalculatedSpeed [get]
 Gets the NPC's calculated speed from the game object.
string Character [get]
 Gets the NPC character identifier as text.
object? CharacterRaw [get, set]
 Gets or sets the raw character value.
Vector3 CurrentDestination [get]
 Gets the NPC navigator's current destination.
bool Disobeying [get]
 Gets whether the NPC is currently disobeying.
BBPEntity Entity [get]
 Gets the entity component associated with this NPC.
object? EnvironmentController [get, set]
 Gets or sets the environment controller associated with this NPC.
bool Exists [get]
 Gets whether the wrapped NPC instance exists.
bool HasDestination [get]
 Gets whether the NPC navigator has a destination.
bool HasDetour [get]
 Gets whether the NPC currently has a detour.
bool IgnorePlayerOnSpawn [get, set]
 Gets or sets whether the NPC ignores the player immediately after spawning.
object? Looker [get, set]
 Gets or sets the NPC looker component.
float MaxSpeed [get, set]
 Gets or sets the NPC navigator's maximum speed.
string Name [get, set]
 Gets or sets the NPC GameObject name.
object? NavigationStateMachine [get]
 Gets the NPC navigation state machine.
object? Navigator [get]
 Gets the NPC navigator.
Vector3 NextPoint [get]
 Gets the next point in the NPC navigator's path.
Vector3 Position [get, set]
 Gets or sets the NPC position in world space.
object? Poster [get, set]
 Gets or sets the NPC poster object.
object? PotentialRoomAssets [get, set]
 Gets or sets the NPC potential room assets.
float Radius [get, set]
 Gets or sets the NPC navigator radius.
object? Raw [get]
 Gets the raw underlying NPC instance.
Quaternion Rotation [get, set]
 Gets or sets the NPC rotation in world space.
IList? SpawnableRooms [get]
 Gets the rooms this NPC can spawn in.
GameObject? SpriteBase [get, set]
 Gets or sets the root GameObject for the NPC sprites.
SpriteRenderer?[] SpriteRenderers [get, set]
 Gets or sets the NPC sprite renderers.
float TimeScale [get]
 Gets the NPC's current time scale.
Vector3 Velocity [get]
 Gets the NPC navigator's current velocity.
bool Wandering [get]
 Gets whether the NPC is currently wandering.

Detailed Description

Wraps a BB+ NPC instance and exposes common NPC, navigation, entity, and sprite controls.

Constructor & Destructor Documentation

◆ BBPNpc()

BBPGlue.API.BBPNpc.BBPNpc ( object? raw)

Creates a wrapper around a raw NPC instance.

Parameters
rawThe raw NPC object or component.

Member Function Documentation

◆ ClearDestination()

void BBPGlue.API.BBPNpc.ClearDestination ( )

Clears the NPC's current destination.

◆ ClearGuilt()

void BBPGlue.API.BBPNpc.ClearGuilt ( )

Clears the NPC's guilt state.

◆ Despawn()

void BBPGlue.API.BBPNpc.Despawn ( )

Despawns the NPC.

◆ DestinationEmpty()

void BBPGlue.API.BBPNpc.DestinationEmpty ( )

Notifies the NPC that its destination is empty.

◆ DistanceCheck()

float BBPGlue.API.BBPNpc.DistanceCheck ( float value)

Calls the NPC distance check.

Parameters
valueThe value to pass to the game method.
Returns
The value returned by the game method.

◆ FindPath() [1/2]

void BBPGlue.API.BBPNpc.FindPath ( Vector3 start,
Vector3 target )

Finds a path from a custom start position to a target position.

Parameters
startThe start position.
targetThe target position.

◆ FindPath() [2/2]

void BBPGlue.API.BBPNpc.FindPath ( Vector3 target)

Finds a path to the target position.

Parameters
targetThe target position.

◆ FindPathAvoid()

void BBPGlue.API.BBPNpc.FindPathAvoid ( Vector3 target,
Vector3 avoid )

Finds a path to the target while avoiding a position.

Parameters
targetThe target position.
avoidThe position to avoid.

◆ Flip()

void BBPGlue.API.BBPNpc.Flip ( )

Flips the NPC entity.

◆ Hear() [1/2]

void BBPGlue.API.BBPNpc.Hear ( GameObject source,
Vector3 position,
int value )

Makes the NPC hear a sound.

Parameters
sourceThe sound source GameObject.
positionThe sound position.
valueThe sound value used by the game.

◆ Hear() [2/2]

void BBPGlue.API.BBPNpc.Hear ( Vector3 position,
int value )

Makes the NPC hear a sound without a source GameObject.

Parameters
positionThe sound position.
valueThe sound value used by the game.

◆ Initialize()

void BBPGlue.API.BBPNpc.Initialize ( )

Initializes the NPC.

◆ KillAllForces()

void BBPGlue.API.BBPNpc.KillAllForces ( )

Clears all forces applied to the NPC entity.

◆ MadeNavigationDecision()

void BBPGlue.API.BBPNpc.MadeNavigationDecision ( )

Notifies the NPC that it made a navigation decision.

◆ ManuallyAppendDestinationPoint()

void BBPGlue.API.BBPNpc.ManuallyAppendDestinationPoint ( Vector3 position)

Appends a destination point to the NPC navigator.

Parameters
positionThe point to append.

◆ SentToDetention()

void BBPGlue.API.BBPNpc.SentToDetention ( )

Calls the NPC detention handler.

◆ SetBlinded()

void BBPGlue.API.BBPNpc.SetBlinded ( bool blinded)

Sets whether the NPC entity is blinded.

Parameters
blindedTrue to blind the NPC; false to restore sight.

◆ SetFrozen()

void BBPGlue.API.BBPNpc.SetFrozen ( bool frozen)

Freezes or unfreezes the NPC entity.

Parameters
frozenTrue to freeze the NPC; false to unfreeze it.

◆ SetHidden()

void BBPGlue.API.BBPNpc.SetHidden ( bool hidden)

Sets whether the NPC entity is hidden.

Parameters
hiddenTrue to hide the NPC; false to show it.

◆ SetRoomAvoidance()

void BBPGlue.API.BBPNpc.SetRoomAvoidance ( bool value)

Enables or disables room avoidance for NPC pathfinding.

Parameters
valueTrue to avoid rooms; otherwise, false.

◆ SetSpeed()

void BBPGlue.API.BBPNpc.SetSpeed ( float speed)

Sets the NPC navigator speed.

Parameters
speedThe speed to set.

◆ SetSprite()

void BBPGlue.API.BBPNpc.SetSprite ( Sprite sprite)

Sets the sprite used by all NPC sprite renderers.

Parameters
spriteThe sprite to use.

◆ SetSpriteBaseActive()

void BBPGlue.API.BBPNpc.SetSpriteBaseActive ( bool active)

Shows or hides the NPC sprite root object.

Parameters
activeTrue to show the sprite root; false to hide it.

◆ SetSpriteColor()

void BBPGlue.API.BBPNpc.SetSpriteColor ( Color color)

Sets the color used by all NPC sprite renderers.

Parameters
colorThe color to apply.

◆ SetVerticalScale()

void BBPGlue.API.BBPNpc.SetVerticalScale ( float scale)

Sets the NPC entity's vertical scale.

Parameters
scaleThe vertical scale value.

◆ SetVisible()

void BBPGlue.API.BBPNpc.SetVisible ( bool visible)

Sets whether the NPC entity is visible.

Parameters
visibleTrue to make the NPC visible; false to hide it.

◆ Sighted()

void BBPGlue.API.BBPNpc.Sighted ( )

Calls the NPC sighted handler.

◆ SkipCurrentDestinationPoint()

void BBPGlue.API.BBPNpc.SkipCurrentDestinationPoint ( )

Skips the NPC navigator's current destination point.

◆ Squish()

void BBPGlue.API.BBPNpc.Squish ( float time)

Squishes the NPC entity for a duration.

Parameters
timeThe duration in seconds.

◆ TargetPosition()

void BBPGlue.API.BBPNpc.TargetPosition ( Vector3 target)

Sends a target position to the NPC.

Parameters
targetThe target position.

◆ Teleport()

void BBPGlue.API.BBPNpc.Teleport ( Vector3 position)

Teleports the NPC to a position.

Parameters
positionThe target position.

◆ TeleportToPlayer()

void BBPGlue.API.BBPNpc.TeleportToPlayer ( )

Teleports the NPC to the player position.

◆ Unsighted()

void BBPGlue.API.BBPNpc.Unsighted ( )

Calls the NPC unsighted handler.

◆ Unsquish()

void BBPGlue.API.BBPNpc.Unsquish ( )

Removes the NPC entity's squished state.

◆ WanderRandom()

void BBPGlue.API.BBPNpc.WanderRandom ( )

Makes the NPC wander to a random destination.

◆ WanderRounds()

void BBPGlue.API.BBPNpc.WanderRounds ( )

Makes the NPC use its round-wandering behavior.

Property Documentation

◆ Acceleration

float BBPGlue.API.BBPNpc.Acceleration
getset

Gets or sets the NPC navigator's acceleration.

◆ BaseTriggers

Collider? [] BBPGlue.API.BBPNpc.BaseTriggers
getset

Gets or sets the NPC base trigger colliders.

◆ BehaviorStateMachine

object? BBPGlue.API.BBPNpc.BehaviorStateMachine
get

Gets the NPC behavior state machine.

◆ Blinded

bool BBPGlue.API.BBPNpc.Blinded
get

Gets whether the NPC is blinded.

◆ BrokenRule

string BBPGlue.API.BBPNpc.BrokenRule
get

Gets the rule currently associated with this NPC.

◆ CalculatedSpeed

float BBPGlue.API.BBPNpc.CalculatedSpeed
get

Gets the NPC's calculated speed from the game object.

◆ Character

string BBPGlue.API.BBPNpc.Character
get

Gets the NPC character identifier as text.

◆ CharacterRaw

object? BBPGlue.API.BBPNpc.CharacterRaw
getset

Gets or sets the raw character value.

◆ CurrentDestination

Vector3 BBPGlue.API.BBPNpc.CurrentDestination
get

Gets the NPC navigator's current destination.

◆ Disobeying

bool BBPGlue.API.BBPNpc.Disobeying
get

Gets whether the NPC is currently disobeying.

◆ Entity

BBPEntity BBPGlue.API.BBPNpc.Entity
get

Gets the entity component associated with this NPC.

◆ EnvironmentController

object? BBPGlue.API.BBPNpc.EnvironmentController
getset

Gets or sets the environment controller associated with this NPC.

◆ Exists

bool BBPGlue.API.BBPNpc.Exists
get

Gets whether the wrapped NPC instance exists.

◆ HasDestination

bool BBPGlue.API.BBPNpc.HasDestination
get

Gets whether the NPC navigator has a destination.

◆ HasDetour

bool BBPGlue.API.BBPNpc.HasDetour
get

Gets whether the NPC currently has a detour.

◆ IgnorePlayerOnSpawn

bool BBPGlue.API.BBPNpc.IgnorePlayerOnSpawn
getset

Gets or sets whether the NPC ignores the player immediately after spawning.

◆ Looker

object? BBPGlue.API.BBPNpc.Looker
getset

Gets or sets the NPC looker component.

◆ MaxSpeed

float BBPGlue.API.BBPNpc.MaxSpeed
getset

Gets or sets the NPC navigator's maximum speed.

◆ Name

string BBPGlue.API.BBPNpc.Name
getset

Gets or sets the NPC GameObject name.

◆ NavigationStateMachine

object? BBPGlue.API.BBPNpc.NavigationStateMachine
get

Gets the NPC navigation state machine.

◆ Navigator

object? BBPGlue.API.BBPNpc.Navigator
get

Gets the NPC navigator.

◆ NextPoint

Vector3 BBPGlue.API.BBPNpc.NextPoint
get

Gets the next point in the NPC navigator's path.

◆ Position

Vector3 BBPGlue.API.BBPNpc.Position
getset

Gets or sets the NPC position in world space.

◆ Poster

object? BBPGlue.API.BBPNpc.Poster
getset

Gets or sets the NPC poster object.

◆ PotentialRoomAssets

object? BBPGlue.API.BBPNpc.PotentialRoomAssets
getset

Gets or sets the NPC potential room assets.

◆ Radius

float BBPGlue.API.BBPNpc.Radius
getset

Gets or sets the NPC navigator radius.

◆ Raw

object? BBPGlue.API.BBPNpc.Raw
get

Gets the raw underlying NPC instance.

◆ Rotation

Quaternion BBPGlue.API.BBPNpc.Rotation
getset

Gets or sets the NPC rotation in world space.

◆ SpawnableRooms

IList? BBPGlue.API.BBPNpc.SpawnableRooms
get

Gets the rooms this NPC can spawn in.

◆ SpriteBase

GameObject? BBPGlue.API.BBPNpc.SpriteBase
getset

Gets or sets the root GameObject for the NPC sprites.

◆ SpriteRenderers

SpriteRenderer? [] BBPGlue.API.BBPNpc.SpriteRenderers
getset

Gets or sets the NPC sprite renderers.

◆ TimeScale

float BBPGlue.API.BBPNpc.TimeScale
get

Gets the NPC's current time scale.

◆ Velocity

Vector3 BBPGlue.API.BBPNpc.Velocity
get

Gets the NPC navigator's current velocity.

◆ Wandering

bool BBPGlue.API.BBPNpc.Wandering
get

Gets whether the NPC is currently wandering.


The documentation for this class was generated from the following file: