settings
The settings namespace — 14 functions.
globals/settings/all
settings.all() -> { [string]: any }
Snapshot of the entire settings document (parsed). Modifying
the returned table does NOT propagate — call set or setMany
to persist. Useful for editors/inspectors that render every
section.
Returns { [string]: any } — A nested table mirroring the TOML document.
for section, keys in pairs(settings.all()) do
globals/settings/get
settings.get(key: string) -> any
Look up a value by dotted key. Returns whatever the file holds at that path — string / number / boolean / array / table — or nil if missing.
Parameters
keystring— Dotted-path key, e.g."render.culling_mode".
Returns any — The raw value at that key, or nil.
local mode = settings.get("render.culling_mode")
globals/settings/getBool
settings.getBool(key: string, default: boolean?) -> boolean
Boolean-typed accessor. Returns the value when present and
boolean-typed; falls back to default (or false) on missing key
or type mismatch.
Parameters
keystring— Dotted-path key.defaultboolean(optional) — Optional fallback boolean.
Returns boolean — The boolean value or the fallback.
if settings.getBool("render.shadows", true) then ... end
globals/settings/getNumber
settings.getNumber(key: string, default: number?) -> number
Number-typed accessor. Returns the value when present and
number-typed; falls back to default (or 0) on missing key or
type mismatch.
Parameters
keystring— Dotted-path key.defaultnumber(optional) — Optional fallback number.
Returns number — The number value or the fallback.
local g = settings.getNumber("physics.gravity", -9.81)
globals/settings/getString
settings.getString(key: string, default: string?) -> string
String-typed accessor. Returns the value when present and
string-typed; falls back to default (or "" if omitted) on
missing key or type mismatch.
Parameters
keystring— Dotted-path key.defaultstring(optional) — Optional fallback string.
Returns string — The string value or the fallback.
local mode = settings.getString("render.culling_mode", "gpu")
globals/settings/set
settings.set(key: string, value: any?)
Set a value by dotted key, then serialize and write the
file. In play mode the write fails like any other source-file
write — call wld.edit() first to unlock.
Parameters
keystring— Dotted-path key.valueany(optional) — Replacement value (string / number / boolean / table).
settings.set("render.culling_mode", "cpu")
globals/settings/setMany
settings.setMany(updates: { [string]: any })
Apply many key/value updates in one batched write — fewer
serialize+write round-trips than calling set per-key. Same
lock semantics as set.
Parameters
updates{ [string]: any }— A table of dotted-key → value pairs.
settings.setMany({
typed/builtin//modules/settings/settings/all
settings.all() -> { [string]: any }
Snapshot of the entire settings document (parsed). Modifying
the returned table does NOT propagate — call set or setMany
to persist. Useful for editors/inspectors that render every
section.
Returns { [string]: any } — A nested table mirroring the TOML document.
for section, keys in pairs(settings.all()) do
typed/builtin//modules/settings/settings/get
settings.get(key: string) -> any
Look up a value by dotted key. Returns whatever the file holds at that path — string / number / boolean / array / table — or nil if missing.
typed/builtin//modules/settings/settings/getBool
settings.getBool(key: string, default: boolean?) -> boolean
Boolean-typed accessor. Returns the value when present and
boolean-typed; falls back to default (or false) on missing key
or type mismatch.
Parameters
keystring— Dotted-path key.defaultboolean(optional) — Optional fallback boolean.
Returns boolean — The boolean value or the fallback.
if settings.getBool("render.shadows", true) then ... end
typed/builtin//modules/settings/settings/getNumber
settings.getNumber(key: string, default: number?) -> number
Number-typed accessor. Returns the value when present and
number-typed; falls back to default (or 0) on missing key or
type mismatch.
Parameters
keystring— Dotted-path key.defaultnumber(optional) — Optional fallback number.
Returns number — The number value or the fallback.
local g = settings.getNumber("physics.gravity", -9.81)
typed/builtin//modules/settings/settings/getString
settings.getString(key: string, default: string?) -> string
String-typed accessor. Returns the value when present and
string-typed; falls back to default (or "" if omitted) on
missing key or type mismatch.
Parameters
keystring— Dotted-path key.defaultstring(optional) — Optional fallback string.
Returns string — The string value or the fallback.
local mode = settings.getString("render.culling_mode", "gpu")
typed/builtin//modules/settings/settings/set
settings.set(key: string, value: any?)
Set a value by dotted key, then serialize and write the
file. In play mode the write fails like any other source-file
write — call wld.edit() first to unlock.
typed/builtin//modules/settings/settings/setMany
settings.setMany(updates: { [string]: any })
Apply many key/value updates in one batched write — fewer
serialize+write round-trips than calling set per-key. Same
lock semantics as set.
Parameters
updates{ [string]: any }— A table of dotted-key → value pairs.
settings.setMany({