Namespace S1API.Entities
Namespaces
Classes
- NPC
Abstract base class for creating custom NPCs with modular architecture supporting both physical and non-physical NPCs. Physical NPCs are visible in the game world with 3D models, movement, and direct interaction. Non-physical NPCs are invisible contacts primarily used for messaging and phone interactions.
- NPCAppearance
Modder-facing appearance customization system for NPCs. Provides builders to configure visual appearance including physical features, clothing, and accessories. Appearance configuration is done in OnCreated().
- NPCCustomer
Modder-facing customer wrapper for an NPC. Provides helpers to configure and interact with customer behavior, including deal offers, contracts, and customer events. Customer configuration must be done in ConfigurePrefab(NPCPrefabBuilder).
- NPCDealer
Modder-facing dealer wrapper for an NPC. Provides helpers to configure and interact with dealer behavior, including customer assignment, cash management, and contract handling. Dealer configuration must be done in ConfigurePrefab(NPCPrefabBuilder).
- NPCDialogue
Modder-facing dialogue wrapper for an NPC. Provides helpers to create interactive conversations with branching dialogue trees, choice-based interactions, and dynamic responses. Use BuildAndRegisterContainer(string, Action<DialogueContainerBuilder>) to define custom conversations.
- NPCInventory
Modder-facing inventory wrapper for an S1API.Entities.NPCInventory.NPC. Provides helpers to query capacity and insert items safely.
- NPCMovement
Modder-facing movement wrapper for an S1API.Entities.NPCMovement.NPC. Provides navigation, warping, facing, and reachability helpers.
- NPCPrefabBuilder
Builder for composing NPC prefab configuration before network spawn. Use to declare networked components, spawn position, customer behavior, relationships, schedules, and appearance defaults.
- NPCPrefabBuilder.AvatarDefaultsBuilder
Wrapper for authoring appearance defaults without exposing game types to modders.
- NPCRelationship
Modder-facing wrapper for an NPC's relationship data. Provides safe access to relationship values, unlock state, connections, and convenience helpers which bridge to the base game's NPCRelationData. Relationship configuration must be done in ConfigurePrefab(NPCPrefabBuilder).
- NPCSchedule
Modder-facing scheduling wrapper for an NPC. Exposes the underlying schedule manager to enable, disable, and manage scheduled actions and curfew modes. Schedule configuration must be done in ConfigurePrefab(NPCPrefabBuilder).
- Player
Represents a player within the game.
- RandomInventoryItemsBuilder
Builder for configuring startup items and random cash for NPCs. Public surface uses strings/primitives only. All configurations are optional.
Enums
- NPCRelationship.UnlockType
Unlock types mirrored from the base game.