mirror of
https://github.com/luanti-org/luanti.git
synced 2025-11-06 10:15:19 +01:00
Try to fix list indentation
This commit is contained in:
@@ -10,12 +10,12 @@ This list is largely advisory and items may be reevaluated once the time comes.
|
|||||||
* `game.conf` name/id mess
|
* `game.conf` name/id mess
|
||||||
* Remove `depends.txt` / `description.txt` (would simplify ContentDB and Minetest code a little)
|
* Remove `depends.txt` / `description.txt` (would simplify ContentDB and Minetest code a little)
|
||||||
* Rotate moon texture by 180°, making it coherent with the sun
|
* Rotate moon texture by 180°, making it coherent with the sun
|
||||||
* https://github.com/minetest/minetest/pull/11902
|
* https://github.com/minetest/minetest/pull/11902
|
||||||
* Remove undocumented `set_physics_override(num, num, num)`
|
* Remove undocumented `set_physics_override(num, num, num)`
|
||||||
* Remove special handling of `${key}` syntax in metadata values
|
* Remove special handling of `${key}` syntax in metadata values
|
||||||
* Remove `old_move`
|
* Remove `old_move`
|
||||||
* Change physics_override `sneak` to disable the speed change and not just the node clipping
|
* Change physics_override `sneak` to disable the speed change and not just the node clipping
|
||||||
* https://github.com/minetest/minetest/issues/13699
|
* https://github.com/minetest/minetest/issues/13699
|
||||||
* Migrate from player names to UUIDs, this would enable renaming of accounts and unicode player names (if desired)
|
* Migrate from player names to UUIDs, this would enable renaming of accounts and unicode player names (if desired)
|
||||||
* Harmonize `use_texture_alpha` between entities & nodes, change default to 'opaque' and remove bool compat code
|
* Harmonize `use_texture_alpha` between entities & nodes, change default to 'opaque' and remove bool compat code
|
||||||
* Merge `sound` and `sounds` table in itemdef
|
* Merge `sound` and `sounds` table in itemdef
|
||||||
|
|||||||
@@ -298,8 +298,8 @@ Refer to `lua_api.md`.
|
|||||||
contained in your mod:
|
contained in your mod:
|
||||||
e.g. `dofile(minetest.get_modpath(minetest.get_current_modname()) .. "stuff.lua")`
|
e.g. `dofile(minetest.get_modpath(minetest.get_current_modname()) .. "stuff.lua")`
|
||||||
* `minetest.get_language()`: returns two strings
|
* `minetest.get_language()`: returns two strings
|
||||||
* the current gettext locale
|
* the current gettext locale
|
||||||
* the current language code (the same as used for client-side translations)
|
* the current language code (the same as used for client-side translations)
|
||||||
* `minetest.get_version()`: returns a table containing components of the
|
* `minetest.get_version()`: returns a table containing components of the
|
||||||
engine version. Components:
|
engine version. Components:
|
||||||
* `project`: Name of the project, eg, "Minetest"
|
* `project`: Name of the project, eg, "Minetest"
|
||||||
@@ -319,8 +319,8 @@ Refer to `lua_api.md`.
|
|||||||
* `colorspec`: The ColorSpec to convert
|
* `colorspec`: The ColorSpec to convert
|
||||||
* `minetest.get_csm_restrictions()`: returns a table of `Flags` indicating the
|
* `minetest.get_csm_restrictions()`: returns a table of `Flags` indicating the
|
||||||
restrictions applied to the current mod.
|
restrictions applied to the current mod.
|
||||||
* If a flag in this table is set to true, the feature is RESTRICTED.
|
* If a flag in this table is set to true, the feature is RESTRICTED.
|
||||||
* Possible flags: `load_client_mods`, `chat_messages`, `read_itemdefs`,
|
* Possible flags: `load_client_mods`, `chat_messages`, `read_itemdefs`,
|
||||||
`read_nodedefs`, `lookup_nodes`, `read_playerinfo`
|
`read_nodedefs`, `lookup_nodes`, `read_playerinfo`
|
||||||
* `minetest.urlencode(str)`: Encodes non-unreserved URI characters by a
|
* `minetest.urlencode(str)`: Encodes non-unreserved URI characters by a
|
||||||
percent sign followed by two hex digits. See
|
percent sign followed by two hex digits. See
|
||||||
|
|||||||
185
doc/lua_api.md
185
doc/lua_api.md
@@ -1755,10 +1755,10 @@ Displays an image oriented or translated according to current heading direction.
|
|||||||
* `alignment`: The alignment of the image.
|
* `alignment`: The alignment of the image.
|
||||||
* `offset`: Offset in pixels from position.
|
* `offset`: Offset in pixels from position.
|
||||||
* `direction`: How the image is rotated/translated:
|
* `direction`: How the image is rotated/translated:
|
||||||
* 0 - Rotate as heading direction
|
* 0 - Rotate as heading direction
|
||||||
* 1 - Rotate in reverse direction
|
* 1 - Rotate in reverse direction
|
||||||
* 2 - Translate as landscape direction
|
* 2 - Translate as landscape direction
|
||||||
* 3 - Translate in reverse direction
|
* 3 - Translate in reverse direction
|
||||||
|
|
||||||
If translation is chosen, texture is repeated horizontally to fill the whole element.
|
If translation is chosen, texture is repeated horizontally to fill the whole element.
|
||||||
|
|
||||||
@@ -1924,12 +1924,12 @@ Examples:
|
|||||||
* `"default:pick_stone"`: a new stone pickaxe
|
* `"default:pick_stone"`: a new stone pickaxe
|
||||||
* `"default:pick_wood 1 21323"`: a wooden pickaxe, ca. 1/3 worn out
|
* `"default:pick_wood 1 21323"`: a wooden pickaxe, ca. 1/3 worn out
|
||||||
* `[[default:pick_wood 1 21323 "\u0001description\u0002My worn out pick\u0003"]]`:
|
* `[[default:pick_wood 1 21323 "\u0001description\u0002My worn out pick\u0003"]]`:
|
||||||
* a wooden pickaxe from the `default` mod,
|
* a wooden pickaxe from the `default` mod,
|
||||||
* amount must be 1 (pickaxe is a tool), ca. 1/3 worn out (it's a tool),
|
* amount must be 1 (pickaxe is a tool), ca. 1/3 worn out (it's a tool),
|
||||||
* with the `description` field set to `"My worn out pick"` in its metadata
|
* with the `description` field set to `"My worn out pick"` in its metadata
|
||||||
* `[[default:dirt 5 0 "\u0001description\u0002Special dirt\u0003"]]`:
|
* `[[default:dirt 5 0 "\u0001description\u0002Special dirt\u0003"]]`:
|
||||||
* analogous to the above example
|
* analogous to the above example
|
||||||
* note how the wear is set to `0` as dirt is not a tool
|
* note how the wear is set to `0` as dirt is not a tool
|
||||||
|
|
||||||
You should ideally use the `ItemStack` format to build complex item strings
|
You should ideally use the `ItemStack` format to build complex item strings
|
||||||
(especially if they use item metadata)
|
(especially if they use item metadata)
|
||||||
@@ -2123,8 +2123,8 @@ to games.
|
|||||||
```lua
|
```lua
|
||||||
damage =
|
damage =
|
||||||
collision speed
|
collision speed
|
||||||
* ((node_fall_damage_add_percent + 100) / 100) -- node group
|
* ((node_fall_damage_add_percent + 100) / 100) -- node group
|
||||||
* ((player_fall_damage_add_percent + 100) / 100) -- player armor group
|
* ((player_fall_damage_add_percent + 100) / 100) -- player armor group
|
||||||
- (14) -- constant tolerance
|
- (14) -- constant tolerance
|
||||||
```
|
```
|
||||||
Negative damage values are discarded as no damage.
|
Negative damage values are discarded as no damage.
|
||||||
@@ -2347,8 +2347,8 @@ for group in cap.damage_groups do
|
|||||||
armor = object.armor_groups[group] or 0
|
armor = object.armor_groups[group] or 0
|
||||||
damage = damage
|
damage = damage
|
||||||
+ cap.damage_groups[group]
|
+ cap.damage_groups[group]
|
||||||
* limit(actual_interval / cap.full_punch_interval, 0.0, 1.0)
|
* limit(actual_interval / cap.full_punch_interval, 0.0, 1.0)
|
||||||
* (armor / 100.0)
|
* (armor / 100.0)
|
||||||
end
|
end
|
||||||
return damage
|
return damage
|
||||||
```
|
```
|
||||||
@@ -2588,24 +2588,24 @@ background elements are drawn before all other elements.
|
|||||||
## Version History
|
## Version History
|
||||||
|
|
||||||
* Formspec version 1 (pre-5.1.0):
|
* Formspec version 1 (pre-5.1.0):
|
||||||
* (too much)
|
* (too much)
|
||||||
* Formspec version 2 (5.1.0):
|
* Formspec version 2 (5.1.0):
|
||||||
* Forced real coordinates
|
* Forced real coordinates
|
||||||
* `background9[]`: 9-slice scaling parameters
|
* `background9[]`: 9-slice scaling parameters
|
||||||
* Formspec version 3 (5.2.0):
|
* Formspec version 3 (5.2.0):
|
||||||
* Formspec elements are drawn in the order of definition
|
* Formspec elements are drawn in the order of definition
|
||||||
* `bgcolor[]`: use 3 parameters (`bgcolor`, `formspec` (now an enum), `fbgcolor`)
|
* `bgcolor[]`: use 3 parameters (`bgcolor`, `formspec` (now an enum), `fbgcolor`)
|
||||||
* `box[]` and `image[]` elements enable clipping by default
|
* `box[]` and `image[]` elements enable clipping by default
|
||||||
* new element: `scroll_container[]`
|
* new element: `scroll_container[]`
|
||||||
* Formspec version 4 (5.4.0):
|
* Formspec version 4 (5.4.0):
|
||||||
* Allow dropdown indexing events
|
* Allow dropdown indexing events
|
||||||
* Formspec version 5 (5.5.0):
|
* Formspec version 5 (5.5.0):
|
||||||
* Added `padding[]` element
|
* Added `padding[]` element
|
||||||
* Formspec version 6 (5.6.0):
|
* Formspec version 6 (5.6.0):
|
||||||
* Add nine-slice images, `animated_image`, and `fgimg_middle`
|
* Add nine-slice images, `animated_image`, and `fgimg_middle`
|
||||||
* Formspec version 7 (5.8.0):
|
* Formspec version 7 (5.8.0):
|
||||||
* `style[]`: Add focused state for buttons
|
* `style[]`: Add focused state for buttons
|
||||||
* Add `field_enter_after_edit[]` (experimental)
|
* Add `field_enter_after_edit[]` (experimental)
|
||||||
|
|
||||||
## Elements
|
## Elements
|
||||||
|
|
||||||
@@ -2692,10 +2692,10 @@ background elements are drawn before all other elements.
|
|||||||
### `scroll_container[<X>,<Y>;<W>,<H>;<scrollbar name>;<orientation>;<scroll factor>]`
|
### `scroll_container[<X>,<Y>;<W>,<H>;<scrollbar name>;<orientation>;<scroll factor>]`
|
||||||
|
|
||||||
* Start of a scroll_container block. All contained elements will:
|
* Start of a scroll_container block. All contained elements will:
|
||||||
* Take the scroll_container coordinate as position origin,
|
* Take the scroll_container coordinate as position origin,
|
||||||
* Be additionally moved by the current value of the scrollbar with the name
|
* Be additionally moved by the current value of the scrollbar with the name
|
||||||
`scrollbar name` times `scroll factor` along the orientation `orientation` and
|
`scrollbar name` times `scroll factor` along the orientation `orientation` and
|
||||||
* Be clipped to the rectangle defined by `X`, `Y`, `W` and `H`.
|
* Be clipped to the rectangle defined by `X`, `Y`, `W` and `H`.
|
||||||
* `orientation`: possible values are `vertical` and `horizontal`.
|
* `orientation`: possible values are `vertical` and `horizontal`.
|
||||||
* `scroll factor`: optional, defaults to `0.1`.
|
* `scroll factor`: optional, defaults to `0.1`.
|
||||||
* Nesting is possible.
|
* Nesting is possible.
|
||||||
@@ -2817,10 +2817,10 @@ background elements are drawn before all other elements.
|
|||||||
* `bgcolor` and `fbgcolor` (optional) are `ColorString`s, they define the color
|
* `bgcolor` and `fbgcolor` (optional) are `ColorString`s, they define the color
|
||||||
of the non-fullscreen and the fullscreen background.
|
of the non-fullscreen and the fullscreen background.
|
||||||
* `fullscreen` (optional) can be one of the following:
|
* `fullscreen` (optional) can be one of the following:
|
||||||
* `false`: Default, only the non-fullscreen background color is drawn.
|
* `false`: Default, only the non-fullscreen background color is drawn.
|
||||||
* `true`: Only the fullscreen background color is drawn.
|
* `true`: Only the fullscreen background color is drawn.
|
||||||
* `both`: The non-fullscreen and the fullscreen background color are drawn.
|
* `both`: The non-fullscreen and the fullscreen background color are drawn.
|
||||||
* `neither`: No background color is drawn.
|
* `neither`: No background color is drawn.
|
||||||
* Note: Leave a parameter empty to not modify the value.
|
* Note: Leave a parameter empty to not modify the value.
|
||||||
* Note: `fbgcolor`, leaving parameters empty and values for `fullscreen` that
|
* Note: `fbgcolor`, leaving parameters empty and values for `fullscreen` that
|
||||||
are not bools are only available since formspec version 3.
|
are not bools are only available since formspec version 3.
|
||||||
@@ -3358,17 +3358,17 @@ Some types may inherit styles from parent types.
|
|||||||
* `bgimg_pressed` - background image when pressed. Defaults to `bgimg` when not provided.
|
* `bgimg_pressed` - background image when pressed. Defaults to `bgimg` when not provided.
|
||||||
* This is deprecated, use states instead.
|
* This is deprecated, use states instead.
|
||||||
* `font` - Sets font type. This is a comma separated list of options. Valid options:
|
* `font` - Sets font type. This is a comma separated list of options. Valid options:
|
||||||
* Main font type options. These cannot be combined with each other:
|
* Main font type options. These cannot be combined with each other:
|
||||||
* `normal`: Default font
|
* `normal`: Default font
|
||||||
* `mono`: Monospaced font
|
* `mono`: Monospaced font
|
||||||
* Font modification options. If used without a main font type, `normal` is used:
|
* Font modification options. If used without a main font type, `normal` is used:
|
||||||
* `bold`: Makes font bold.
|
* `bold`: Makes font bold.
|
||||||
* `italic`: Makes font italic.
|
* `italic`: Makes font italic.
|
||||||
Default `normal`.
|
Default `normal`.
|
||||||
* `font_size` - Sets font size. Default is user-set. Can have multiple values:
|
* `font_size` - Sets font size. Default is user-set. Can have multiple values:
|
||||||
* `<number>`: Sets absolute font size to `number`.
|
* `<number>`: Sets absolute font size to `number`.
|
||||||
* `+<number>`/`-<number>`: Offsets default font size by `number` points.
|
* `+<number>`/`-<number>`: Offsets default font size by `number` points.
|
||||||
* `*<number>`: Multiplies default font size by `number`, similar to CSS `em`.
|
* `*<number>`: Multiplies default font size by `number`, similar to CSS `em`.
|
||||||
* `border` - boolean, draw border. Set to `false` to hide the bevelled button pane. Default `true`.
|
* `border` - boolean, draw border. Set to `false` to hide the bevelled button pane. Default `true`.
|
||||||
* `content_offset` - 2d vector, shifts the position of the button's content without resizing it.
|
* `content_offset` - 2d vector, shifts the position of the button's content without resizing it.
|
||||||
* `noclip` - boolean, set to true to allow the element to exceed formspec bounds.
|
* `noclip` - boolean, set to true to allow the element to exceed formspec bounds.
|
||||||
@@ -5045,49 +5045,46 @@ and `minetest.register_on_priv_revoke` functions.
|
|||||||
Minetest includes a set of built-in privileges that control capabilities
|
Minetest includes a set of built-in privileges that control capabilities
|
||||||
provided by the Minetest engine and can be used by mods:
|
provided by the Minetest engine and can be used by mods:
|
||||||
|
|
||||||
* Basic privileges are normally granted to all players:
|
* Basic privileges are normally granted to all players:
|
||||||
* `shout`: can communicate using the in-game chat.
|
* `shout`: can communicate using the in-game chat.
|
||||||
* `interact`: can modify the world by digging, building and interacting
|
* `interact`: can modify the world by digging, building and interacting
|
||||||
with the nodes, entities and other players. Players without the `interact`
|
with the nodes, entities and other players. Players without the `interact`
|
||||||
privilege can only travel and observe the world.
|
privilege can only travel and observe the world.
|
||||||
|
* Advanced privileges allow bypassing certain aspects of the gameplay:
|
||||||
* Advanced privileges allow bypassing certain aspects of the gameplay:
|
* `fast`: can use "fast mode" to move with maximum speed.
|
||||||
* `fast`: can use "fast mode" to move with maximum speed.
|
* `fly`: can use "fly mode" to move freely above the ground without falling.
|
||||||
* `fly`: can use "fly mode" to move freely above the ground without falling.
|
* `noclip`: can use "noclip mode" to fly through solid nodes (e.g. walls).
|
||||||
* `noclip`: can use "noclip mode" to fly through solid nodes (e.g. walls).
|
* `teleport`: can use `/teleport` command to move to any point in the world.
|
||||||
* `teleport`: can use `/teleport` command to move to any point in the world.
|
* `creative`: can access creative inventory.
|
||||||
* `creative`: can access creative inventory.
|
* `bring`: can teleport other players to oneself.
|
||||||
* `bring`: can teleport other players to oneself.
|
* `give`: can use `/give` and `/giveme` commands to give any item
|
||||||
* `give`: can use `/give` and `/giveme` commands to give any item
|
in the game to oneself or others.
|
||||||
in the game to oneself or others.
|
* `settime`: can use `/time` command to change current in-game time.
|
||||||
* `settime`: can use `/time` command to change current in-game time.
|
* `debug`: can enable wireframe rendering mode.
|
||||||
* `debug`: can enable wireframe rendering mode.
|
* Security-related privileges:
|
||||||
|
* `privs`: can modify privileges of the players using `/grant[me]` and
|
||||||
* Security-related privileges:
|
`/revoke[me]` commands.
|
||||||
* `privs`: can modify privileges of the players using `/grant[me]` and
|
* `basic_privs`: can grant and revoke basic privileges as defined by
|
||||||
`/revoke[me]` commands.
|
the `basic_privs` setting.
|
||||||
* `basic_privs`: can grant and revoke basic privileges as defined by
|
* `kick`: can kick other players from the server using `/kick` command.
|
||||||
the `basic_privs` setting.
|
* `ban`: can ban other players using `/ban` command.
|
||||||
* `kick`: can kick other players from the server using `/kick` command.
|
* `password`: can use `/setpassword` and `/clearpassword` commands
|
||||||
* `ban`: can ban other players using `/ban` command.
|
to manage players' passwords.
|
||||||
* `password`: can use `/setpassword` and `/clearpassword` commands
|
* `protection_bypass`: can bypass node protection. Note that the engine does not act upon this privilege,
|
||||||
to manage players' passwords.
|
it is only an implementation suggestion for games.
|
||||||
* `protection_bypass`: can bypass node protection. Note that the engine does not act upon this privilege,
|
* Administrative privileges:
|
||||||
it is only an implementation suggestion for games.
|
* `server`: can use `/fixlight`, `/deleteblocks` and `/deleteobjects`
|
||||||
|
commands. Can clear inventory of other players using `/clearinv` command.
|
||||||
* Administrative privileges:
|
* `rollback`: can use `/rollback_check` and `/rollback` commands.
|
||||||
* `server`: can use `/fixlight`, `/deleteblocks` and `/deleteobjects`
|
|
||||||
commands. Can clear inventory of other players using `/clearinv` command.
|
|
||||||
* `rollback`: can use `/rollback_check` and `/rollback` commands.
|
|
||||||
|
|
||||||
## Related Settings
|
## Related Settings
|
||||||
|
|
||||||
Minetest includes the following settings to control behavior of privileges:
|
Minetest includes the following settings to control behavior of privileges:
|
||||||
|
|
||||||
* `default_privs`: defines privileges granted to new players.
|
* `default_privs`: defines privileges granted to new players.
|
||||||
* `basic_privs`: defines privileges that can be granted/revoked by players having
|
* `basic_privs`: defines privileges that can be granted/revoked by players having
|
||||||
the `basic_privs` privilege. This can be used, for example, to give
|
the `basic_privs` privilege. This can be used, for example, to give
|
||||||
limited moderation powers to selected users.
|
limited moderation powers to selected users.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -5337,7 +5334,7 @@ Minetest includes the following settings to control behavior of privileges:
|
|||||||
* `colorspec`: The ColorSpec to convert
|
* `colorspec`: The ColorSpec to convert
|
||||||
* `minetest.colorspec_to_bytes(colorspec)`: Converts a ColorSpec to a raw
|
* `minetest.colorspec_to_bytes(colorspec)`: Converts a ColorSpec to a raw
|
||||||
string of four bytes in an RGBA layout, returned as a string.
|
string of four bytes in an RGBA layout, returned as a string.
|
||||||
* `colorspec`: The ColorSpec to convert
|
* `colorspec`: The ColorSpec to convert
|
||||||
* `minetest.encode_png(width, height, data, [compression])`: Encode a PNG
|
* `minetest.encode_png(width, height, data, [compression])`: Encode a PNG
|
||||||
image and return it in string form.
|
image and return it in string form.
|
||||||
* `width`: Width of the image
|
* `width`: Width of the image
|
||||||
@@ -6162,7 +6159,7 @@ You can find mod channels communication scheme in `doc/mod_channels.png`.
|
|||||||
expression.
|
expression.
|
||||||
* to close a formspec regardless of the formname, call
|
* to close a formspec regardless of the formname, call
|
||||||
`minetest.close_formspec(playername, "")`.
|
`minetest.close_formspec(playername, "")`.
|
||||||
**USE THIS ONLY WHEN ABSOLUTELY NECESSARY!**
|
**USE THIS ONLY WHEN ABSOLUTELY NECESSARY!**
|
||||||
* `minetest.formspec_escape(string)`: returns a string
|
* `minetest.formspec_escape(string)`: returns a string
|
||||||
* escapes the characters "[", "]", "\", "," and ";", which cannot be used
|
* escapes the characters "[", "]", "\", "," and ";", which cannot be used
|
||||||
in formspecs.
|
in formspecs.
|
||||||
@@ -6314,7 +6311,7 @@ You can find mod channels communication scheme in `doc/mod_channels.png`.
|
|||||||
* `prevent_after_place`: if set to `true`, `after_place_node` is not called
|
* `prevent_after_place`: if set to `true`, `after_place_node` is not called
|
||||||
for the newly placed node to prevent a callback and placement loop
|
for the newly placed node to prevent a callback and placement loop
|
||||||
* returns `itemstack, position`
|
* returns `itemstack, position`
|
||||||
* `position`: the location the node was placed to. `nil` if nothing was placed.
|
* `position`: the location the node was placed to. `nil` if nothing was placed.
|
||||||
* `minetest.item_place_object(itemstack, placer, pointed_thing)`
|
* `minetest.item_place_object(itemstack, placer, pointed_thing)`
|
||||||
* Place item as-is
|
* Place item as-is
|
||||||
* returns the leftover itemstack
|
* returns the leftover itemstack
|
||||||
@@ -6325,7 +6322,7 @@ You can find mod channels communication scheme in `doc/mod_channels.png`.
|
|||||||
* Calls `on_rightclick` of `pointed_thing.under` if defined instead
|
* Calls `on_rightclick` of `pointed_thing.under` if defined instead
|
||||||
* `param2` overrides facedir and wallmounted `param2`
|
* `param2` overrides facedir and wallmounted `param2`
|
||||||
* returns `itemstack, position`
|
* returns `itemstack, position`
|
||||||
* `position`: the location the node was placed to. `nil` if nothing was placed.
|
* `position`: the location the node was placed to. `nil` if nothing was placed.
|
||||||
> [!NOTE]
|
> [!NOTE]
|
||||||
> `on_rightclick` is not called when wielded item overrides `on_place`
|
> `on_rightclick` is not called when wielded item overrides `on_place`
|
||||||
* `minetest.item_pickup(itemstack, picker, pointed_thing, time_from_last_punch, ...)`
|
* `minetest.item_pickup(itemstack, picker, pointed_thing, time_from_last_punch, ...)`
|
||||||
@@ -6485,12 +6482,12 @@ Variables:
|
|||||||
* The given callback will be called for every player as soon as the
|
* The given callback will be called for every player as soon as the
|
||||||
media is available on the client.
|
media is available on the client.
|
||||||
* Details/Notes:
|
* Details/Notes:
|
||||||
* If `ephemeral`=false and `to_player` is unset the file is added to the media
|
* If `ephemeral`=false and `to_player` is unset the file is added to the media
|
||||||
sent to clients on startup, this means the media will appear even on
|
sent to clients on startup, this means the media will appear even on
|
||||||
old clients if they rejoin the server.
|
old clients if they rejoin the server.
|
||||||
* If `ephemeral`=false the file must not be modified, deleted, moved or
|
* If `ephemeral`=false the file must not be modified, deleted, moved or
|
||||||
renamed after calling this function.
|
renamed after calling this function.
|
||||||
* Regardless of any use of `ephemeral`, adding media files with the same
|
* Regardless of any use of `ephemeral`, adding media files with the same
|
||||||
name twice is not possible/guaranteed to work. An exception to this is the
|
name twice is not possible/guaranteed to work. An exception to this is the
|
||||||
use of `to_player` to send the same, already existent file to multiple
|
use of `to_player` to send the same, already existent file to multiple
|
||||||
chosen players.
|
chosen players.
|
||||||
@@ -7931,13 +7928,13 @@ child will follow movement and rotation of that bone.
|
|||||||
* `set_lighting(light_definition)`: sets lighting for the player
|
* `set_lighting(light_definition)`: sets lighting for the player
|
||||||
* Passing no arguments resets lighting to its default values.
|
* Passing no arguments resets lighting to its default values.
|
||||||
* `light_definition` is a table with the following optional fields:
|
* `light_definition` is a table with the following optional fields:
|
||||||
* `saturation` sets the saturation (vividness; default: `1.0`).
|
* `saturation` sets the saturation (vividness; default: `1.0`).
|
||||||
values > 1 increase the saturation
|
values > 1 increase the saturation
|
||||||
values in [0,1) decrease the saturation
|
values in [0,1) decrease the saturation
|
||||||
* `shadows` is a table that controls ambient shadows
|
* `shadows` is a table that controls ambient shadows
|
||||||
* `intensity` sets the intensity of the shadows from 0 (no shadows, default) to 1 (blackness)
|
* `intensity` sets the intensity of the shadows from 0 (no shadows, default) to 1 (blackness)
|
||||||
* This value has no effect on clients who have the "Dynamic Shadows" shader disabled.
|
* This value has no effect on clients who have the "Dynamic Shadows" shader disabled.
|
||||||
* `exposure` is a table that controls automatic exposure.
|
* `exposure` is a table that controls automatic exposure.
|
||||||
The basic exposure factor equation is `e = 2^exposure_correction / clamp(luminance, 2^luminance_min, 2^luminance_max)`
|
The basic exposure factor equation is `e = 2^exposure_correction / clamp(luminance, 2^luminance_min, 2^luminance_max)`
|
||||||
* `luminance_min` set the lower luminance boundary to use in the calculation (default: `-3.0`)
|
* `luminance_min` set the lower luminance boundary to use in the calculation (default: `-3.0`)
|
||||||
* `luminance_max` set the upper luminance boundary to use in the calculation (default: `-3.0`)
|
* `luminance_max` set the upper luminance boundary to use in the calculation (default: `-3.0`)
|
||||||
@@ -7945,7 +7942,7 @@ child will follow movement and rotation of that bone.
|
|||||||
* `speed_dark_bright` set the speed of adapting to bright light (default: `1000.0`)
|
* `speed_dark_bright` set the speed of adapting to bright light (default: `1000.0`)
|
||||||
* `speed_bright_dark` set the speed of adapting to dark scene (default: `1000.0`)
|
* `speed_bright_dark` set the speed of adapting to dark scene (default: `1000.0`)
|
||||||
* `center_weight_power` set the power factor for center-weighted luminance measurement (default: `1.0`)
|
* `center_weight_power` set the power factor for center-weighted luminance measurement (default: `1.0`)
|
||||||
* `volumetric_light`: is a table that controls volumetric light (a.k.a. "godrays")
|
* `volumetric_light`: is a table that controls volumetric light (a.k.a. "godrays")
|
||||||
* `strength`: sets the strength of the volumetric light effect from 0 (off, default) to 1 (strongest)
|
* `strength`: sets the strength of the volumetric light effect from 0 (off, default) to 1 (strongest)
|
||||||
* This value has no effect on clients who have the "Volumetric Lighting" or "Bloom" shaders disabled.
|
* This value has no effect on clients who have the "Volumetric Lighting" or "Bloom" shaders disabled.
|
||||||
|
|
||||||
@@ -8065,7 +8062,7 @@ Otherwise, use `PcgRandom`.
|
|||||||
### Constructor
|
### Constructor
|
||||||
|
|
||||||
`PseudoRandom(seed)`
|
`PseudoRandom(seed)`
|
||||||
* `seed`: 32-bit signed number
|
* `seed`: 32-bit signed number
|
||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
|
|
||||||
@@ -10355,7 +10352,7 @@ Types used are defined in the previous section.
|
|||||||
velocity values within a range. the velocity calculated by this method will
|
velocity values within a range. the velocity calculated by this method will
|
||||||
be **added** to that specified by `vel` if `vel` is also set, so in most
|
be **added** to that specified by `vel` if `vel` is also set, so in most
|
||||||
cases **`vel` should be set to 0**. `attract` has the fields:
|
cases **`vel` should be set to 0**. `attract` has the fields:
|
||||||
* string `kind`: selects the kind of shape towards which the particles will
|
* string `kind`: selects the kind of shape towards which the particles will
|
||||||
be oriented. it must have one of the following values:
|
be oriented. it must have one of the following values:
|
||||||
* `"none"`: no attractor is set and the `attractor` table is ignored
|
* `"none"`: no attractor is set and the `attractor` table is ignored
|
||||||
* `"point"`: the particles are attracted to a specific point in space.
|
* `"point"`: the particles are attracted to a specific point in space.
|
||||||
@@ -10367,22 +10364,22 @@ Types used are defined in the previous section.
|
|||||||
* `"plane"`: the particles are attracted to an (infinite) plane on whose
|
* `"plane"`: the particles are attracted to an (infinite) plane on whose
|
||||||
surface `origin` designates a point in world coordinate space. use this
|
surface `origin` designates a point in world coordinate space. use this
|
||||||
for e.g. particles entering or emerging from a portal.
|
for e.g. particles entering or emerging from a portal.
|
||||||
* float range `strength`: the speed with which particles will move towards
|
* float range `strength`: the speed with which particles will move towards
|
||||||
`attractor`. If negative, the particles will instead move away from that
|
`attractor`. If negative, the particles will instead move away from that
|
||||||
point.
|
point.
|
||||||
* vec3 `origin`: the origin point of the shape towards which particles will
|
* vec3 `origin`: the origin point of the shape towards which particles will
|
||||||
initially be oriented. functions as an offset if `origin_attached` is also
|
initially be oriented. functions as an offset if `origin_attached` is also
|
||||||
set.
|
set.
|
||||||
* vec3 `direction`: sets the direction in which the attractor shape faces. for
|
* vec3 `direction`: sets the direction in which the attractor shape faces. for
|
||||||
lines, this sets the angle of the line; e.g. a vector of (0,1,0) will
|
lines, this sets the angle of the line; e.g. a vector of (0,1,0) will
|
||||||
create a vertical line that passes through `origin`. for planes, `direction`
|
create a vertical line that passes through `origin`. for planes, `direction`
|
||||||
is the surface normal of an infinite plane on whose surface `origin` is
|
is the surface normal of an infinite plane on whose surface `origin` is
|
||||||
a point. functions as an offset if `direction_attached` is also set.
|
a point. functions as an offset if `direction_attached` is also set.
|
||||||
* entity `origin_attached`: allows the origin to be specified as an offset
|
* entity `origin_attached`: allows the origin to be specified as an offset
|
||||||
from the position of an entity rather than a coordinate in world space.
|
from the position of an entity rather than a coordinate in world space.
|
||||||
* entity `direction_attached`: allows the direction to be specified as an offset
|
* entity `direction_attached`: allows the direction to be specified as an offset
|
||||||
from the position of an entity rather than a coordinate in world space.
|
from the position of an entity rather than a coordinate in world space.
|
||||||
* bool `die_on_contact`: if true, the particles' lifetimes are adjusted so
|
* bool `die_on_contact`: if true, the particles' lifetimes are adjusted so
|
||||||
that they will die as they cross the attractor threshold. this behavior
|
that they will die as they cross the attractor threshold. this behavior
|
||||||
is the default but is undesirable for some kinds of animations; set it to
|
is the default but is undesirable for some kinds of animations; set it to
|
||||||
false to allow particles to live out their natural lives.
|
false to allow particles to live out their natural lives.
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ Description of formspec language to show your menu is in `lua_api.md`
|
|||||||
# Callbacks
|
# Callbacks
|
||||||
|
|
||||||
* `core.button_handler(fields)`: called when a button is pressed.
|
* `core.button_handler(fields)`: called when a button is pressed.
|
||||||
* `fields` = `{name1 = value1, name2 = value2, ...}`
|
* `fields` = `{name1 = value1, name2 = value2, ...}`
|
||||||
* `core.event_handler(event)`
|
* `core.event_handler(event)`
|
||||||
* `event`: `"MenuQuit"`, `"KeyEnter"`, `"ExitButton"` or `"EditBoxEnter"`
|
* `event`: `"MenuQuit"`, `"KeyEnter"`, `"ExitButton"` or `"EditBoxEnter"`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -35,65 +35,65 @@ The "gamedata" table is read when calling `core.start()`. It should contain:
|
|||||||
# Functions
|
# Functions
|
||||||
|
|
||||||
* `core.start()`
|
* `core.start()`
|
||||||
* start game session
|
* start game session
|
||||||
* `core.close()`
|
* `core.close()`
|
||||||
* exit engine
|
* exit engine
|
||||||
* `core.get_min_supp_proto()`
|
* `core.get_min_supp_proto()`
|
||||||
* returns the minimum supported network protocol version
|
* returns the minimum supported network protocol version
|
||||||
* `core.get_max_supp_proto()`
|
* `core.get_max_supp_proto()`
|
||||||
* returns the maximum supported network protocol version
|
* returns the maximum supported network protocol version
|
||||||
* `core.open_url(url)`
|
* `core.open_url(url)`
|
||||||
* opens the URL in a web browser, returns false on failure.
|
* opens the URL in a web browser, returns false on failure.
|
||||||
* Must begin with http:// or https://
|
* Must begin with http:// or https://
|
||||||
* `core.open_dir(path)`
|
* `core.open_dir(path)`
|
||||||
* opens the path in the system file browser/explorer, returns false on failure.
|
* opens the path in the system file browser/explorer, returns false on failure.
|
||||||
* Must be an existing directory.
|
* Must be an existing directory.
|
||||||
* `core.share_file(path)`
|
* `core.share_file(path)`
|
||||||
* Android only. Shares file using the share popup
|
* Android only. Shares file using the share popup
|
||||||
* `core.get_version()` (possible in async calls)
|
* `core.get_version()` (possible in async calls)
|
||||||
* returns current core version
|
* returns current core version
|
||||||
* `core.set_once(key, value)`:
|
* `core.set_once(key, value)`:
|
||||||
* save a string value that persists even if menu is closed
|
* save a string value that persists even if menu is closed
|
||||||
* `core.get_once(key)`:
|
* `core.get_once(key)`:
|
||||||
* get a string value saved by above function, or `nil`
|
* get a string value saved by above function, or `nil`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Filesystem
|
# Filesystem
|
||||||
|
|
||||||
* `core.get_builtin_path()`
|
* `core.get_builtin_path()`
|
||||||
* returns path to builtin root
|
* returns path to builtin root
|
||||||
* `core.create_dir(absolute_path)` (possible in async calls)
|
* `core.create_dir(absolute_path)` (possible in async calls)
|
||||||
* `absolute_path` to directory to create (needs to be absolute)
|
* `absolute_path` to directory to create (needs to be absolute)
|
||||||
* returns true/false
|
* returns true/false
|
||||||
* `core.delete_dir(absolute_path)` (possible in async calls)
|
* `core.delete_dir(absolute_path)` (possible in async calls)
|
||||||
* `absolute_path` to directory to delete (needs to be absolute)
|
* `absolute_path` to directory to delete (needs to be absolute)
|
||||||
* returns true/false
|
* returns true/false
|
||||||
* `core.copy_dir(source,destination,keep_source)` (possible in async calls)
|
* `core.copy_dir(source,destination,keep_source)` (possible in async calls)
|
||||||
* `source` folder
|
* `source` folder
|
||||||
* `destination` folder
|
* `destination` folder
|
||||||
* `keep_source` DEFAULT true --> if set to false `source` is deleted after copying
|
* `keep_source` DEFAULT true --> if set to false `source` is deleted after copying
|
||||||
* returns true/false
|
* returns true/false
|
||||||
* `core.is_dir(path)` (possible in async calls)
|
* `core.is_dir(path)` (possible in async calls)
|
||||||
* returns true if `path` is a valid dir
|
* returns true if `path` is a valid dir
|
||||||
* `core.extract_zip(zipfile,destination)` [unzip within path required]
|
* `core.extract_zip(zipfile,destination)` [unzip within path required]
|
||||||
* `zipfile` to extract
|
* `zipfile` to extract
|
||||||
* `destination` folder to extract to
|
* `destination` folder to extract to
|
||||||
* returns true/false
|
* returns true/false
|
||||||
* `core.sound_play(spec, looped)` -> handle
|
* `core.sound_play(spec, looped)` -> handle
|
||||||
* `spec` = `SimpleSoundSpec` (see `lua_api.md`)
|
* `spec` = `SimpleSoundSpec` (see `lua_api.md`)
|
||||||
* `looped` = bool
|
* `looped` = bool
|
||||||
* `handle:stop()` or `core.sound_stop(handle)`
|
* `handle:stop()` or `core.sound_stop(handle)`
|
||||||
* `core.get_video_drivers()`
|
* `core.get_video_drivers()`
|
||||||
* get list of video drivers supported by engine (not all modes are guaranteed to work)
|
* get list of video drivers supported by engine (not all modes are guaranteed to work)
|
||||||
* returns list of available video drivers' settings name and 'friendly' display name
|
* returns list of available video drivers' settings name and 'friendly' display name
|
||||||
e.g. `{{name="opengl", friendly_name="OpenGL"}, {name="software", friendly_name="Software Renderer"}}`
|
e.g. `{{name="opengl", friendly_name="OpenGL"}, {name="software", friendly_name="Software Renderer"}}`
|
||||||
* first element of returned list is guaranteed to be the NULL driver
|
* first element of returned list is guaranteed to be the NULL driver
|
||||||
* `core.get_mapgen_names([include_hidden=false])` -> table of map generator algorithms
|
* `core.get_mapgen_names([include_hidden=false])` -> table of map generator algorithms
|
||||||
registered in the core (possible in async calls)
|
registered in the core (possible in async calls)
|
||||||
* `core.get_cache_path()` -> path of cache
|
* `core.get_cache_path()` -> path of cache
|
||||||
* `core.get_temp_path([param])` (possible in async calls)
|
* `core.get_temp_path([param])` (possible in async calls)
|
||||||
* `param`=true: returns path to a temporary file
|
* `param`=true: returns path to a temporary file
|
||||||
otherwise: returns path to the temporary folder
|
otherwise: returns path to the temporary folder
|
||||||
|
|
||||||
|
|
||||||
@@ -178,45 +178,45 @@ Passed to `HTTPApiTable.fetch` callback. Returned by
|
|||||||
|
|
||||||
* `core.update_formspec(formspec)`
|
* `core.update_formspec(formspec)`
|
||||||
* `core.get_table_index(tablename)` -> index
|
* `core.get_table_index(tablename)` -> index
|
||||||
* can also handle textlists
|
* can also handle textlists
|
||||||
* `core.formspec_escape(string)` -> string
|
* `core.formspec_escape(string)` -> string
|
||||||
* escapes characters [ ] \ , ; that cannot be used in formspecs
|
* escapes characters [ ] \ , ; that cannot be used in formspecs
|
||||||
* `core.explode_table_event(string)` -> table
|
* `core.explode_table_event(string)` -> table
|
||||||
* returns e.g. `{type="CHG", row=1, column=2}`
|
* returns e.g. `{type="CHG", row=1, column=2}`
|
||||||
* `type`: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
|
* `type`: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
|
||||||
* `core.explode_textlist_event(string)` -> table
|
* `core.explode_textlist_event(string)` -> table
|
||||||
* returns e.g. `{type="CHG", index=1}`
|
* returns e.g. `{type="CHG", index=1}`
|
||||||
* `type`: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
|
* `type`: "INV" (no row selected), "CHG" (selected) or "DCL" (double-click)
|
||||||
* `core.set_formspec_prepend(formspec)`
|
* `core.set_formspec_prepend(formspec)`
|
||||||
* `formspec`: string to be added to every mainmenu formspec, to be used for theming.
|
* `formspec`: string to be added to every mainmenu formspec, to be used for theming.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# GUI
|
# GUI
|
||||||
|
|
||||||
* `core.set_background(type,texturepath,[tile],[minsize])`
|
* `core.set_background(type,texturepath,[tile],[minsize])`
|
||||||
* `type`: "background", "overlay", "header" or "footer"
|
* `type`: "background", "overlay", "header" or "footer"
|
||||||
* `tile`: tile the image instead of scaling (background only)
|
* `tile`: tile the image instead of scaling (background only)
|
||||||
* `minsize`: minimum tile size, images are scaled to at least this size prior
|
* `minsize`: minimum tile size, images are scaled to at least this size prior
|
||||||
doing tiling (background only)
|
doing tiling (background only)
|
||||||
* `core.set_clouds(<true/false>)`
|
* `core.set_clouds(<true/false>)`
|
||||||
* `core.set_topleft_text(text)`
|
* `core.set_topleft_text(text)`
|
||||||
* `core.show_keys_menu()`
|
* `core.show_keys_menu()`
|
||||||
* `core.show_path_select_dialog(formname, caption, is_file_select)`
|
* `core.show_path_select_dialog(formname, caption, is_file_select)`
|
||||||
* shows a path select dialog
|
* shows a path select dialog
|
||||||
* `formname` is base name of dialog response returned in fields
|
* `formname` is base name of dialog response returned in fields
|
||||||
- if dialog was accepted `"_accepted"`
|
- if dialog was accepted `"_accepted"`
|
||||||
will be added to fieldname containing the path
|
will be added to fieldname containing the path
|
||||||
- if dialog was canceled `"_cancelled"`
|
- if dialog was canceled `"_cancelled"`
|
||||||
will be added to fieldname value is set to formname itself
|
will be added to fieldname value is set to formname itself
|
||||||
* if `is_file_select` is `true`, a file and not a folder will be selected
|
* if `is_file_select` is `true`, a file and not a folder will be selected
|
||||||
* returns nil or selected file/folder
|
* returns nil or selected file/folder
|
||||||
* `core.get_active_driver()`:
|
* `core.get_active_driver()`:
|
||||||
* technical name of active video driver, e.g. "opengl"
|
* technical name of active video driver, e.g. "opengl"
|
||||||
* `core.get_active_renderer()`:
|
* `core.get_active_renderer()`:
|
||||||
* name of current renderer, e.g. "OpenGL 4.6"
|
* name of current renderer, e.g. "OpenGL 4.6"
|
||||||
* `core.get_active_irrlicht_device()`:
|
* `core.get_active_irrlicht_device()`:
|
||||||
* name of current irrlicht device, e.g. "SDL"
|
* name of current irrlicht device, e.g. "SDL"
|
||||||
* `core.get_window_info()`: Same as server-side `get_player_window_information` API.
|
* `core.get_window_info()`: Same as server-side `get_player_window_information` API.
|
||||||
```lua
|
```lua
|
||||||
-- Note that none of these things are constant, they are likely to change
|
-- Note that none of these things are constant, they are likely to change
|
||||||
@@ -340,10 +340,10 @@ Package - content which is downloadable from the content db, may or may not be i
|
|||||||
# Logging
|
# Logging
|
||||||
|
|
||||||
* `core.debug(line)` (possible in async calls)
|
* `core.debug(line)` (possible in async calls)
|
||||||
* Always printed to `stderr` and logfile (`print()` is redirected here)
|
* Always printed to `stderr` and logfile (`print()` is redirected here)
|
||||||
* `core.log(line)` (possible in async calls)
|
* `core.log(line)` (possible in async calls)
|
||||||
* `core.log(loglevel, line)` (possible in async calls)
|
* `core.log(loglevel, line)` (possible in async calls)
|
||||||
* `loglevel` one of "error", "action", "info", "verbose"
|
* `loglevel` one of "error", "action", "info", "verbose"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -363,7 +363,7 @@ For a complete list of methods of the `Settings` object see
|
|||||||
# Worlds
|
# Worlds
|
||||||
|
|
||||||
* `core.get_worlds()` -> list of worlds (possible in async calls)
|
* `core.get_worlds()` -> list of worlds (possible in async calls)
|
||||||
* returns
|
* returns
|
||||||
```lua
|
```lua
|
||||||
{
|
{
|
||||||
[1] = {
|
[1] = {
|
||||||
@@ -381,28 +381,28 @@ For a complete list of methods of the `Settings` object see
|
|||||||
# Helpers
|
# Helpers
|
||||||
|
|
||||||
* `core.get_us_time()`
|
* `core.get_us_time()`
|
||||||
* returns time with microsecond precision
|
* returns time with microsecond precision
|
||||||
* `core.gettext(string)` -> string
|
* `core.gettext(string)` -> string
|
||||||
* look up the translation of a string in the gettext message catalog
|
* look up the translation of a string in the gettext message catalog
|
||||||
* `fgettext_ne(string, ...)`
|
* `fgettext_ne(string, ...)`
|
||||||
* call `core.gettext(string)`, replace "$1"..."$9" with the given
|
* call `core.gettext(string)`, replace "$1"..."$9" with the given
|
||||||
extra arguments and return the result
|
extra arguments and return the result
|
||||||
* `fgettext(string, ...)` -> string
|
* `fgettext(string, ...)` -> string
|
||||||
* same as `fgettext_ne()`, but calls `core.formspec_escape` before returning result
|
* same as `fgettext_ne()`, but calls `core.formspec_escape` before returning result
|
||||||
* `core.parse_json(string[, nullvalue])` -> something (possible in async calls)
|
* `core.parse_json(string[, nullvalue])` -> something (possible in async calls)
|
||||||
* see `core.parse_json` (`lua_api.md`)
|
* see `core.parse_json` (`lua_api.md`)
|
||||||
* `dump(obj, dumped={})`
|
* `dump(obj, dumped={})`
|
||||||
* Return object serialized as a string
|
* Return object serialized as a string
|
||||||
* `string:split(separator)`
|
* `string:split(separator)`
|
||||||
* eg. `string:split("a,b", ",")` == `{"a","b"}`
|
* eg. `string:split("a,b", ",")` == `{"a","b"}`
|
||||||
* `string:trim()`
|
* `string:trim()`
|
||||||
* eg. `string.trim("\n \t\tfoo bar\t ")` == `"foo bar"`
|
* eg. `string.trim("\n \t\tfoo bar\t ")` == `"foo bar"`
|
||||||
* `core.is_yes(arg)` (possible in async calls)
|
* `core.is_yes(arg)` (possible in async calls)
|
||||||
* returns whether `arg` can be interpreted as yes
|
* returns whether `arg` can be interpreted as yes
|
||||||
* `core.encode_base64(string)` (possible in async calls)
|
* `core.encode_base64(string)` (possible in async calls)
|
||||||
* Encodes a string in base64.
|
* Encodes a string in base64.
|
||||||
* `core.decode_base64(string)` (possible in async calls)
|
* `core.decode_base64(string)` (possible in async calls)
|
||||||
* Decodes a string encoded in base64.
|
* Decodes a string encoded in base64.
|
||||||
* `core.urlencode(str)`: Encodes non-unreserved URI characters by a
|
* `core.urlencode(str)`: Encodes non-unreserved URI characters by a
|
||||||
percent sign followed by two hex digits. See
|
percent sign followed by two hex digits. See
|
||||||
[RFC 3986, section 2.3](https://datatracker.ietf.org/doc/html/rfc3986#section-2.3).
|
[RFC 3986, section 2.3](https://datatracker.ietf.org/doc/html/rfc3986#section-2.3).
|
||||||
@@ -412,10 +412,10 @@ For a complete list of methods of the `Settings` object see
|
|||||||
# Async
|
# Async
|
||||||
|
|
||||||
* `core.handle_async(async_job,parameters,finished)`
|
* `core.handle_async(async_job,parameters,finished)`
|
||||||
* execute a function asynchronously
|
* execute a function asynchronously
|
||||||
* `async_job` is a function receiving one parameter and returning one parameter
|
* `async_job` is a function receiving one parameter and returning one parameter
|
||||||
* `parameters` parameter table passed to `async_job`
|
* `parameters` parameter table passed to `async_job`
|
||||||
* `finished` function to be called once `async_job` has finished
|
* `finished` function to be called once `async_job` has finished
|
||||||
the result of `async_job` is passed to this function
|
the result of `async_job` is passed to this function
|
||||||
|
|
||||||
## Limitations of Async Operations
|
## Limitations of Async Operations
|
||||||
|
|||||||
Reference in New Issue
Block a user