Skip to content

@temporary-escape/mod-sdk / Random

Class: Random ​

Defined in: random.ts:29

Deterministic PCG32 generator.

The algorithm and its output sequence are part of the mod ABI: changing the constants or the draw order changes generated worlds. Golden tests pin the vectors in tests/Engine/Wasm/as/src/test-random.ts.

Do not use Math.random() for gameplay randomness: AssemblyScript's generator is module-global, cannot provide independent per-entity streams, and its unseeded path requires a host env.seed import.

Constructors ​

Constructor ​

ts
new Random(seed: number): Random;

Defined in: random.ts:33

Parameters ​

ParameterType
seednumber

Returns ​

Random

Methods ​

nextU32() ​

ts
nextU32(): number;

Defined in: random.ts:42

Returns ​

number


nextU64() ​

ts
nextU64(): number;

Defined in: random.ts:50

Returns ​

number


pick() ​

ts
pick<T>(items: T[]): T;

Defined in: random.ts:110

Uniformly picks an element from a non-empty array.

Type Parameters ​

Type Parameter
T

Parameters ​

ParameterType
itemsT[]

Returns ​

T


randInt() ​

ts
randInt(min: number, max: number): number;

Defined in: random.ts:62

Uniform integer in [min, max], inclusive.

Parameters ​

ParameterType
minnumber
maxnumber

Returns ​

number


randQuat() ​

ts
randQuat(): Quaternion;

Defined in: random.ts:88

Uniformly distributed unit quaternion (Shoemake's method).

Returns ​

Quaternion


randReal() ​

ts
randReal(min: number, max: number): number;

Defined in: random.ts:55

Uniform real in [min, max).

Parameters ​

ParameterType
minnumber
maxnumber

Returns ​

number


randSeed() ​

ts
randSeed(): number;

Defined in: random.ts:83

A seed suitable for a child stream (non-negative int64 range).

Returns ​

number


randSpherePos() ​

ts
randSpherePos(): Vector3f;

Defined in: random.ts:102

Uniformly distributed point on the unit sphere.

Returns ​

Vector3f