The basic types used in the Factorio API. While Lua only supports the
table types (as they relate to the types listed below), the API docs will specify what C++ types these are converted from or to internally.
Throughout the API docs, the terms "array" and "dictionary" are used. These are fundamentally just Lua tables, but have a limitation on which kind of table keys can be used. An array is a table that uses continuous integer keys starting at
1, while a dictionary can use numeric or string keys in any order or combination.
A floating-point number. This is a single-precision floating point number. Whilst Lua only uses double-precision numbers, when a function takes a float, the game engine will immediately convert the double-precision number to single-precision.
A double-precision floating-point number. This is the same data type as all Lua numbers use.
32-bit signed integer. Possible values are -2,147,483,648 to 2,147,483,647.
8-bit signed integer. Possible values are -128 to 127.
32-bit unsigned integer. Possible values are 0 to 4,294,967,295.
8-bit unsigned integer. Possible values are 0 to 255.
16-bit unsigned integer. Possible values are 0 to 65535.
64-bit unsigned integer. Possible values are 0 to 18,446,744,073,709,551,615.
Strings are enclosed in double-quotes, like this
Tables are enclosed in curly brackets, like this