@modules/needs
Needs module - manages player needs (hunger, thirst, health, armor).
Classes
| Class | Description |
|---|---|
| NeedsService | Needs service handling hunger, thirst, health, and armor. |
Interfaces
| Interface | Description |
|---|---|
| NeedsConfig | - |
Type Aliases
| Type Alias | Description |
|---|---|
| NeedsData | Needs data (hunger, thirst) - owned by server. |
| NeedsState | Combined player needs state containing all vital statistics. |
| VitalsData | Vitals data (health, armor) - owned by client. |
Variables
default
default: Module;Defined in: src/modules/core/needs/module.ts:22
DEFAULT_NEEDS_DATA
const DEFAULT_NEEDS_DATA: NeedsData;Defined in: src/modules/core/needs/types.ts:144
Default needs data (hunger, thirst) for a new character.
DEFAULT_NEEDS_STATE
const DEFAULT_NEEDS_STATE: NeedsState;Defined in: src/modules/core/needs/types.ts:150
Default combined needs state for a new/respawned character.
DEFAULT_VITALS_DATA
const DEFAULT_VITALS_DATA: VitalsData;Defined in: src/modules/core/needs/types.ts:147
Default vitals data (health, armor) for a new character.
NEEDS_MAX
const NEEDS_MAX: 100 = 100;Defined in: src/modules/core/needs/types.ts:40
Maximum value for any need (100 = full).
NEEDS_MIN
const NEEDS_MIN: 0 = 0;Defined in: src/modules/core/needs/types.ts:37
Minimum value for any need (0 = depleted).
needsDataSchema
const needsDataSchema: ZodObject<{
hunger: ZodNumber;
thirst: ZodNumber;
}, $strip>;Defined in: src/modules/core/needs/types.ts:45
Zod schema for needs data (hunger, thirst) - server-owned.
needsStateSchema
const needsStateSchema: ZodObject<{
armor: ZodNumber;
health: ZodNumber;
hunger: ZodNumber;
thirst: ZodNumber;
}, $strip>;Defined in: src/modules/core/needs/types.ts:65
Zod schema for combined needs state (all four values).
vitalsDataSchema
const vitalsDataSchema: ZodObject<{
armor: ZodNumber;
health: ZodNumber;
}, $strip>;Defined in: src/modules/core/needs/types.ts:55
Zod schema for vitals data (health, armor) - client-owned.
Functions
| Function | Description |
|---|---|
| clampNeed | Clamps a need value to the valid range [0, 100]. Handles edge cases like NaN, Infinity, and negative numbers. |
| getNeedsConfig | - |
| normalizeNeeds | Creates a normalized NeedsState from partial values. Missing values are set to sensible defaults: - hunger, thirst, health: 100 (full) - armor: 0 (none) |
| normalizeNeedsData | Creates normalized NeedsData from partial values. |
| normalizeVitalsData | Creates normalized VitalsData from partial values. |