@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
| Parameter | Type |
|---|---|
seed | number |
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
| Parameter | Type |
|---|---|
items | T[] |
Returns
T
randInt()
ts
randInt(min: number, max: number): number;Defined in: random.ts:62
Uniform integer in [min, max], inclusive.
Parameters
| Parameter | Type |
|---|---|
min | number |
max | number |
Returns
number
randQuat()
ts
randQuat(): Quaternion;Defined in: random.ts:88
Uniformly distributed unit quaternion (Shoemake's method).
Returns
randReal()
ts
randReal(min: number, max: number): number;Defined in: random.ts:55
Uniform real in [min, max).
Parameters
| Parameter | Type |
|---|---|
min | number |
max | number |
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.
