Skip to main content

@modules/needs

Needs module - manages player needs (hunger, thirst, health, armor).

Classes

ClassDescription
NeedsServiceNeeds service handling hunger, thirst, health, and armor.

Interfaces

InterfaceDescription
NeedsConfig-

Type Aliases

Type AliasDescription
NeedsDataNeeds data (hunger, thirst) - owned by server.
NeedsStateCombined player needs state containing all vital statistics.
VitalsDataVitals 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

FunctionDescription
clampNeedClamps a need value to the valid range [0, 100]. Handles edge cases like NaN, Infinity, and negative numbers.
getNeedsConfig-
normalizeNeedsCreates a normalized NeedsState from partial values. Missing values are set to sensible defaults: - hunger, thirst, health: 100 (full) - armor: 0 (none)
normalizeNeedsDataCreates normalized NeedsData from partial values.
normalizeVitalsDataCreates normalized VitalsData from partial values.