2.4 KiB
app library
A library for high-level engine control, available only in script/test mode.
The script/test name without path and extension is available as app.script. The file path can be obtained as:
local filename = "script:"..app.script..".lua"
Functions
app.tick()
Executes one tick of the engine main loop.
app.sleep(time: number)
Waits for the specified time in seconds, executing the engine main loop.
app.sleep_until(
-- function that checks the wait finishing condition
predicate: function() -> bool,
-- maximum number of engine cycle ticks, after which
-- an exception "max ticks exceed" will be thrown
[optional] max_ticks = 1e9
)
Waits for the condition checked by the function to be true, executing the engine main loop.
app.quit()
Quits the engine, printing the call stack to track where the function was called.
app.reconfig_packs(
-- packs to add
add_packs: table,
-- packs to remove
remove_packs: table
)
Updates the packs configuration, checking its correctness (dependencies and packs existence).
To remove all packs from the configuration, you can use pack.get_installed():
app.reconfig_packs({}, pack.get_installed())
In this case, base will also be removed from the configuration.
app.new_world(
-- world name
name: str,
-- seed of generation
seed: str,
-- name of generator
generator: str
)
Creates a new world and opens it.
app.open_world(name: str)
Opens a world by name.
app.reopen_world()
Reopens the world.
app.close_world(
-- save the world before closing
[optional] save_world: bool=false
)
Closes the world.
app.delete_world(name: str)
Deletes a world by name.
app.get_version() -> int, int
Returns the major and minor engine versions.
app.get_setting(name: str) -> value
Returns the value of a setting. Throws an exception if the setting does not exist.
app.set_setting(name: str, value: value)
Sets the value of a setting. Throws an exception if the setting does not exist.
app.get_setting_info(name: str) -> {
-- default value
def: value
-- minimum value
[numeric settings only] min: number,
-- maximum value
[numeric settings only] max: number
}
Returns a table with information about the setting. Throws an exception if the setting does not exist.