Factorio API Docs

1.1.58 <>

Class LuaRandomGenerator

A deterministic random generator independent from the core games random generator that can be seeded and re-seeded at will. This random generator can be saved and loaded and will maintain its state. Note this is entirely different from calling math.random() and you should be sure you actually want to use this over calling math.random(). If you aren't sure if you need to use this over calling math.random() then you probably don't need to use this.

Example

Create a generator and use it to print a random number.

global.generator = game.create_random_generator()
game.player.print(global.generator())
double

Generates a random number.


re_seed(seed)

Re-seeds the random generator with the given value.


help()
string

All methods and properties that this object supports.


:: boolean
[R]

Is this object valid?


:: string
[R]

The class name of this object.

Operators

operator ()double

Generates a random number. If no parameters are given a number in the [0, 1) range is returned. If a single parameter is given a floored number in the [1, N] range is returned. If 2 parameters are given a floored number in the [N1, N2] range is returned.

Parameters

lower
:: int?

Inclusive lower bound on the result


upper
:: int?

Inclusive upper bound on the result

Return values

:: double

Methods

re_seed(seed)

Re-seeds the random generator with the given value.

Parameters

seed
:: uint

Note

Seeds that are close together will produce similar results. Seeds from 0 to 341 will produce the same results.


help() → string

All methods and properties that this object supports.

Return values

:: string

Attributes

valid :: boolean [Read]

Is this object valid? This Lua object holds a reference to an object within the game engine. It is possible that the game-engine object is removed whilst a mod still holds the corresponding Lua object. If that happens, the object becomes invalid, i.e. this attribute will be false. Mods are advised to check for object validity if any change to the game state might have occurred between the creation of the Lua object and its access.


object_name :: string [Read]

The class name of this object. Available even when valid is false. For LuaStruct objects it may also be suffixed with a dotted path to a member of the struct.

|<

Classes

Events

Concepts

Defines

Builtin types

>|