Lua_api.txt: Split long lines part 3
authorparamat <paramat@users.noreply.github.com>
Sun, 11 Mar 2018 23:41:22 +0000 (23:41 +0000)
committerparamat <mat.gregory@virginmedia.com>
Sun, 11 Mar 2018 23:52:12 +0000 (23:52 +0000)
doc/lua_api.txt

index 9e9356be6d061f554ad629ea6278950bfd2bed54..1c8766de8022fc0d486a456dbc0aad3cca1f9cc7 100644 (file)
@@ -2854,19 +2854,20 @@ handler.
     * Set node on all positions set in the first argument.
     * e.g. `minetest.bulk_set_node({{x=0, y=1, z=1}, {x=1, y=2, z=2}}, {name="default:stone"})`
     * For node specification or position syntax see `minetest.set_node` call
-    * Faster than set_node due to single call, but still considerably slower than
-      Voxel Manipulators (LVM) for large numbers of nodes.
-      Unlike LVMs, this will call node callbacks. It also allows setting nodes in spread out
-      positions which would cause LVMs to waste memory.
-      For setting a cube, this is 1.3x faster than set_node whereas LVM is 20x faster.
+    * Faster than set_node due to single call, but still considerably slower
+      than Lua Voxel Manipulators (LVM) for large numbers of nodes.
+      Unlike LVMs, this will call node callbacks. It also allows setting nodes
+      in spread out positions which would cause LVMs to waste memory.
+      For setting a cube, this is 1.3x faster than set_node whereas LVM is 20
+      times faster.
 * `minetest.swap_node(pos, node)`
     * Set node at position, but don't remove metadata
 * `minetest.remove_node(pos)`
     * By default it does the same as `minetest.set_node(pos, {name="air"})`
 * `minetest.get_node(pos)`
     * Returns the node at the given position as table in the format
-      `{name="node_name", param1=0, param2=0}`, returns `{name="ignore", param1=0, param2=0}`
-      for unloaded areas.
+      `{name="node_name", param1=0, param2=0}`,
+      returns `{name="ignore", param1=0, param2=0}` for unloaded areas.
 * `minetest.get_node_or_nil(pos)`
     * Same as `get_node` but returns `nil` for unloaded areas.
 * `minetest.get_node_light(pos, timeofday)`
@@ -2888,36 +2889,45 @@ handler.
     * Returns `true` if successful, `false` on failure
 
 * `minetest.find_nodes_with_meta(pos1, pos2)`
-    * Get a table of positions of nodes that have metadata within a region {pos1, pos2}
+    * Get a table of positions of nodes that have metadata within a region
+      {pos1, pos2}.
 * `minetest.get_meta(pos)`
     * Get a `NodeMetaRef` at that position
 * `minetest.get_node_timer(pos)`
     * Get `NodeTimerRef`
 
-* `minetest.add_entity(pos, name, [staticdata])`: Spawn Lua-defined entity at position
+* `minetest.add_entity(pos, name, [staticdata])`: Spawn Lua-defined entity at
+  position.
     * Returns `ObjectRef`, or `nil` if failed
 * `minetest.add_item(pos, item)`: Spawn item
     * Returns `ObjectRef`, or `nil` if failed
 * `minetest.get_player_by_name(name)`: Get an `ObjectRef` to a player
-* `minetest.get_objects_inside_radius(pos, radius)`: returns a list of ObjectRefs
+* `minetest.get_objects_inside_radius(pos, radius)`: returns a list of
+  ObjectRefs.
     * `radius`: using an euclidean metric
 * `minetest.set_timeofday(val)`
     * `val` is between `0` and `1`; `0` for midnight, `0.5` for midday
 * `minetest.get_timeofday()`
-* `minetest.get_gametime()`: returns the time, in seconds, since the world was created
-* `minetest.get_day_count()`: returns number days elapsed since world was created,
-    * accounting for time changes.
-* `minetest.find_node_near(pos, radius, nodenames, [search_center])`: returns pos or `nil`
+* `minetest.get_gametime()`: returns the time, in seconds, since the world was
+  created.
+* `minetest.get_day_count()`: returns number days elapsed since world was
+  created.
+    * accounts for time changes.
+* `minetest.find_node_near(pos, radius, nodenames, [search_center])`: returns
+  pos or `nil`.
     * `radius`: using a maximum metric
     * `nodenames`: e.g. `{"ignore", "group:tree"}` or `"default:dirt"`
     * `search_center` is an optional boolean (default: `false`)
       If true `pos` is also checked for the nodes
-* `minetest.find_nodes_in_area(pos1, pos2, nodenames)`: returns a list of positions
+* `minetest.find_nodes_in_area(pos1, pos2, nodenames)`: returns a list of
+  positions.
     * `nodenames`: e.g. `{"ignore", "group:tree"}` or `"default:dirt"`
     * First return value: Table with all node positions
-    * Second return value: Table with the count of each node with the node name as index
+    * Second return value: Table with the count of each node with the node name
+      as index.
     * Area volume is limited to 4,096,000 nodes
-* `minetest.find_nodes_in_area_under_air(pos1, pos2, nodenames)`: returns a list of positions
+* `minetest.find_nodes_in_area_under_air(pos1, pos2, nodenames)`: returns a
+  list of positions.
     * `nodenames`: e.g. `{"ignore", "group:tree"}` or `"default:dirt"`
     * Return value: Table with all node positions with a node air above
     * Area volume is limited to 4,096,000 nodes
@@ -2991,7 +3001,8 @@ handler.
 * `minetest.get_mapgen_setting(name)`
     * Gets the *active* mapgen setting (or nil if none exists) in string
       format with the following order of precedence:
-        1) Settings loaded from map_meta.txt or overrides set during mod execution
+        1) Settings loaded from map_meta.txt or overrides set during mod
+           execution.
         2) Settings set by mods without a metafile override
         3) Settings explicitly set in the user config file, minetest.conf
         4) Settings set as the user config default
@@ -3026,25 +3037,31 @@ handler.
 * `minetest.clear_objects([options])`
     * Clear all objects in the environment
     * Takes an optional table as an argument with the field `mode`.
-        * mode = `"full"`: Load and go through every mapblock, clearing objects (default).
-        * mode = `"quick"`: Clear objects immediately in loaded mapblocks;
-          clear objects in unloaded mapblocks only when the mapblocks are next activated.
+        * mode = `"full"` : Load and go through every mapblock, clearing
+                            objects (default).
+        * mode = `"quick"`: Clear objects immediately in loaded mapblocks,
+                            clear objects in unloaded mapblocks only when the
+                            mapblocks are next activated.
 * `minetest.emerge_area(pos1, pos2, [callback], [param])`
-    * Queue all blocks in the area from `pos1` to `pos2`, inclusive, to be asynchronously
-      fetched from memory, loaded from disk, or if inexistent, generates them.
-    * If `callback` is a valid Lua function, this will be called for each block emerged.
+    * Queue all blocks in the area from `pos1` to `pos2`, inclusive, to be
+      asynchronously fetched from memory, loaded from disk, or if inexistent,
+      generates them.
+    * If `callback` is a valid Lua function, this will be called for each block
+      emerged.
     * The function signature of callback is:
         * `function EmergeAreaCallback(blockpos, action, calls_remaining, param)`
-            * `blockpos` is the *block* coordinates of the block that had been emerged
+            * `blockpos` is the *block* coordinates of the block that had been
+              emerged.
             * `action` could be one of the following constant values:
                 * `minetest.EMERGE_CANCELLED`
                 * `minetest.EMERGE_ERRORED`
                 * `minetest.EMERGE_FROM_MEMORY`
                 * `minetest.EMERGE_FROM_DISK`
                 * `minetest.EMERGE_GENERATED`
-            * `calls_remaining` is the number of callbacks to be expected after this one
-            * `param` is the user-defined parameter passed to emerge_area (or nil if the
-              parameter was absent)
+            * `calls_remaining` is the number of callbacks to be expected after
+              this one.
+            * `param` is the user-defined parameter passed to emerge_area (or
+              nil if the parameter was absent).
 * `minetest.delete_area(pos1, pos2)`
     * delete all mapblocks in the area from pos1 to pos2, inclusive
 * `minetest.line_of_sight(pos1, pos2)`: returns `boolean, pos`
@@ -3061,10 +3078,12 @@ handler.
     * `liquids' : if false, liquid nodes won't be returned. Default is `false`.
 * `minetest.find_path(pos1,pos2,searchdistance,max_jump,max_drop,algorithm)`
     * returns table containing path
-    * returns a table of 3D points representing a path from `pos1` to `pos2` or `nil`
+    * returns a table of 3D points representing a path from `pos1` to `pos2` or
+      `nil`.
     * `pos1`: start position
     * `pos2`: end position
-    * `searchdistance`: number of blocks to search in each direction using a maximum metric
+    * `searchdistance`: number of blocks to search in each direction using a
+      maximum metric.
     * `max_jump`: maximum height difference to consider walkable
     * `max_drop`: maximum height difference to consider droppable
     * `algorithm`: One of `"A*_noprefetch"` (default), `"A*"`, `"Dijkstra"`
@@ -3109,22 +3128,23 @@ handler.
     * spread these updates to neighbours and can cause a cascade
       of nodes to fall.
 * `minetest.get_spawn_level(x, z)`
-    * Returns a player spawn y co-ordinate for the provided (x, z) co-ordinates,
-      or `nil` for an unsuitable spawn point.
+    * Returns a player spawn y co-ordinate for the provided (x, z)
+      co-ordinates, or `nil` for an unsuitable spawn point.
     * For most mapgens a 'suitable spawn point' is one with y between
       `water_level` and `water_level + 16`, and in mgv7 well away from rivers,
       so `nil` will be returned for many (x, z) co-ordinates.
     * The spawn level returned is for a player spawn in unmodified terrain.
-    * The spawn level is intentionally above terrain level to cope with full-node
-      biome 'dust' nodes.
+    * The spawn level is intentionally above terrain level to cope with
+      full-node biome 'dust' nodes.
 
 ### Mod channels
 You can find mod channels communication scheme in `docs/mod_channels.png`.
 
 * `minetest.mod_channel_join(channel_name)`
     * Server joins channel `channel_name`, and creates it if necessary. You
-      should listen from incoming messages with `minetest.register_on_modchannel_message`
-      call to receive incoming messages
+      should listen from incoming messages with
+      `minetest.register_on_modchannel_message` call to receive incoming
+      messages.
 
 ### Inventory
 `minetest.get_inventory(location)`: returns an `InvRef`
@@ -3133,14 +3153,17 @@ You can find mod channels communication scheme in `docs/mod_channels.png`.
     * `{type="player", name="celeron55"}`
     * `{type="node", pos={x=, y=, z=}}`
     * `{type="detached", name="creative"}`
-* `minetest.create_detached_inventory(name, callbacks, [player_name])`: returns an `InvRef`
+* `minetest.create_detached_inventory(name, callbacks, [player_name])`: returns
+  an `InvRef`.
     * callbacks: See "Detached inventory callbacks"
-    * `player_name`: Make detached inventory available to one player exclusively,
-      by default they will be sent to every player (even if not used).
-      Note that this parameter is mostly just a workaround and will be removed in future releases.
+    * `player_name`: Make detached inventory available to one player
+      exclusively, by default they will be sent to every player (even if not
+      used).
+      Note that this parameter is mostly just a workaround and will be removed
+      in future releases.
     * Creates a detached inventory. If it already exists, it is cleared.
 * `minetest.do_item_eat(hp_change, replace_with_item, itemstack, user, pointed_thing)`:
-  returns left over ItemStack
+  returns left over ItemStack.
     * See `minetest.item_eat` and `minetest.register_on_item_eat`
 
 ### Formspec
@@ -3151,13 +3174,16 @@ You can find mod channels communication scheme in `docs/mod_channels.png`.
     * `formspec`: formspec to display
 * `minetest.close_formspec(playername, formname)`
     * `playername`: name of player to close formspec
-    * `formname`: has to exactly match the one given in `show_formspec`, or the formspec will
-      not close.
-    * calling `show_formspec(playername, formname, "")` is equal to this expression
+    * `formname`: has to exactly match the one given in `show_formspec`, or the
+      formspec will not close.
+    * calling `show_formspec(playername, formname, "")` is equal to this
+      expression.
     * to close a formspec regardless of the formname, call
-      `minetest.close_formspec(playername, "")`. **USE THIS ONLY WHEN ABSOLUTELY NECESSARY!**
+      `minetest.close_formspec(playername, "")`.
+      **USE THIS ONLY WHEN ABSOLUTELY NECESSARY!**
 * `minetest.formspec_escape(string)`: returns a string
-    * escapes the characters "[", "]", "\", "," and ";", which can not be used in formspecs
+    * escapes the characters "[", "]", "\", "," and ";", which can not be used
+      in formspecs.
 * `minetest.explode_table_event(string)`: returns a table
     * returns e.g. `{type="CHG", row=1, column=2}`
     * `type` is one of:
@@ -3183,26 +3209,31 @@ You can find mod channels communication scheme in `docs/mod_channels.png`.
 * `minetest.get_pointed_thing_position(pointed_thing, above)`
     * Get position of a `pointed_thing` (that you can get from somewhere)
 * `minetest.dir_to_facedir(dir, is6d)`
-    * Convert a vector to a facedir value, used in `param2` for `paramtype2="facedir"`;
-    * passing something non-`nil`/`false` for the optional second parameter causes it to
-      take the y component into account
+    * Convert a vector to a facedir value, used in `param2` for
+      `paramtype2="facedir"`.
+    * passing something non-`nil`/`false` for the optional second parameter
+      causes it to take the y component into account.
 * `minetest.facedir_to_dir(facedir)`
-    * Convert a facedir back into a vector aimed directly out the "back" of a node
+    * Convert a facedir back into a vector aimed directly out the "back" of a
+      node.
 * `minetest.dir_to_wallmounted(dir)`
-    * Convert a vector to a wallmounted value, used for `paramtype2="wallmounted"`
+    * Convert a vector to a wallmounted value, used for
+      `paramtype2="wallmounted"`.
 * `minetest.wallmounted_to_dir(wallmounted)`
-    * Convert a wallmounted value back into a vector aimed directly out the "back" of a node
+    * Convert a wallmounted value back into a vector aimed directly out the
+      "back" of a node.
 * `minetest.dir_to_yaw(dir)`
     * Convert a vector into a yaw (angle)
 * `minetest.yaw_to_dir(yaw)`
     * Convert yaw (angle) to a vector
 * `minetest.is_colored_paramtype(ptype)`
-    * Returns a boolean. Returns `true` if the given `paramtype2` contains color
-      information (`color`, `colorwallmounted` or `colorfacedir`).
+    * Returns a boolean. Returns `true` if the given `paramtype2` contains
+      color information (`color`, `colorwallmounted` or `colorfacedir`).
 * `minetest.strip_param2_color(param2, paramtype2)`
     * Removes everything but the color information from the
       given `param2` value.
-    * Returns `nil` if the given `paramtype2` does not contain color information
+    * Returns `nil` if the given `paramtype2` does not contain color
+      information.
 * `minetest.get_node_drops(nodename, toolname)`
     * Returns list of item names.
     * **Note**: This will be removed or modified in a future version.
@@ -3210,7 +3241,7 @@ You can find mod channels communication scheme in `docs/mod_channels.png`.
     * `input.method` = `"normal"` or `"cooking"` or `"fuel"`
     * `input.width` = for example `3`
     * `input.items` = for example
-      `{ stack1, stack2, stack3, stack4, stack 5, stack 6, stack 7, stack 8, stack 9 }`
+      `{stack1, stack2, stack3, stack4, stack 5, stack 6, stack 7, stack 8, stack 9}`
     * `output.item` = `ItemStack`, if unsuccessful: empty `ItemStack`
     * `output.time` = a number, if unsuccessful: `0`
     * `output.replacements` = list of `ItemStack`s that couldn't be placed in
@@ -3222,34 +3253,35 @@ You can find mod channels communication scheme in `docs/mod_channels.png`.
     * `input.method` = `"normal"` or `"cooking"` or `"fuel"`
     * `input.width` = for example `3`
     * `input.items` = for example
-      `{ stack1, stack2, stack3, stack4, stack 5, stack 6, stack 7, stack 8, stack 9 }`
+      `{stack1, stack2, stack3, stack4, stack 5, stack 6, stack 7, stack 8, stack 9}`
         * `input.items` = `nil` if no recipe found
 * `minetest.get_all_craft_recipes(query item)`: returns a table or `nil`
     * returns indexed table with all registered recipes for query item (node)
-      or `nil` if no recipe was found
+      or `nil` if no recipe was found.
     * recipe entry table:
 
-            {
-                method = 'normal' or 'cooking' or 'fuel'
-                width = 0-3, 0 means shapeless recipe
-                items = indexed [1-9] table with recipe items
-                output = string with item name and quantity
-            }
+          {
+              method = 'normal' or 'cooking' or 'fuel'
+              width = 0-3, 0 means shapeless recipe
+              items = indexed [1-9] table with recipe items
+              output = string with item name and quantity
+          }
     * Example query for `"default:gold_ingot"` will return table:
 
-            {
-                [1]={method = "cooking", width = 3, output = "default:gold_ingot",
-                items = {1 = "default:gold_lump"}},
-                [2]={method = "normal", width = 1, output = "default:gold_ingot 9",
-                items = {1 = "default:goldblock"}}
-            }
+          {
+              [1]={method = "cooking", width = 3, output = "default:gold_ingot",
+              items = {1 = "default:gold_lump"}},
+              [2]={method = "normal", width = 1, output = "default:gold_ingot 9",
+              items = {1 = "default:goldblock"}}
+          }
 * `minetest.handle_node_drops(pos, drops, digger)`
     * `drops`: list of itemstrings
-    * Handles drops from nodes after digging: Default action is to put them into
-      digger's inventory
+    * Handles drops from nodes after digging: Default action is to put them
+      into digger's inventory.
     * Can be overridden to get different functionality (e.g. dropping items on
       ground)
-* `minetest.itemstring_with_palette(item, palette_index)`: returns an item string
+* `minetest.itemstring_with_palette(item, palette_index)`: returns an item
+  string.
     * Creates an item string which contains palette index information
       for hardware colorization. You can use the returned string
       as an output in a craft recipe.
@@ -3270,7 +3302,8 @@ You can find mod channels communication scheme in `docs/mod_channels.png`.
   returns `{{actor, pos, time, oldnode, newnode}, ...}`
     * Find who has done something to a node, or near a node
     * `actor`: `"player:<name>"`, also `"liquid"`.
-* `minetest.rollback_revert_actions_by(actor, seconds)`: returns `boolean, log_messages`
+* `minetest.rollback_revert_actions_by(actor, seconds)`: returns
+  `boolean, log_messages`.
     * Revert latest actions of someone
     * `actor`: `"player:<name>"`, also `"liquid"`.
 
@@ -3313,7 +3346,8 @@ These functions return the leftover itemstack.
 * `minetest.sound_fade(handle, step, gain)`
     * `handle` is a handle returned by `minetest.sound_play`
     * `step` determines how fast a sound will fade.
-      Negative step will lower the sound volume, positive step will increase the sound volume
+      Negative step will lower the sound volume, positive step will increase
+      the sound volume.
     * `gain` the target gain for the fade.
 
 ### Timing
@@ -3322,7 +3356,8 @@ These functions return the leftover itemstack.
     * Optional: Variable number of arguments that are passed to `func`
 
 ### Server
-* `minetest.request_shutdown([message],[reconnect],[delay])`: request for server shutdown. Will display `message` to clients.
+* `minetest.request_shutdown([message],[reconnect],[delay])`: request for
+  server shutdown. Will display `message` to clients.
     * `reconnect` == true displays a reconnect button
     * `delay` adds an optional delay (in seconds) before shutdown.
       Negative delay cancels the current active shutdown.
@@ -3330,27 +3365,32 @@ These functions return the leftover itemstack.
 * `minetest.cancel_shutdown_requests()`: cancel current delayed shutdown
 * `minetest.get_server_status()`: returns server status string
 * `minetest.get_server_uptime()`: returns the server uptime in seconds
-* `minetest.remove_player(name)`: remove player from database (if he is not connected).
-    * As auth data is not removed, minetest.player_exists will continue to return true.
-      Call the below method as well if you want to remove auth data too.
+* `minetest.remove_player(name)`: remove player from database (if they are not
+  connected).
+    * As auth data is not removed, minetest.player_exists will continue to
+      return true. Call the below method as well if you want to remove auth
+      data too.
     * Returns a code (0: successful, 1: no such player, 2: player is connected)
 * `minetest.remove_player_auth(name)`: remove player authentication data
     * Returns boolean indicating success (false if player nonexistant)
 
 ### Bans
-* `minetest.get_ban_list()`: returns the ban list (same as `minetest.get_ban_description("")`)
+* `minetest.get_ban_list()`: returns the ban list
+  (same as `minetest.get_ban_description("")`).
 * `minetest.get_ban_description(ip_or_name)`: returns ban description (string)
 * `minetest.ban_player(name)`: ban a player
 * `minetest.unban_player_or_ip(name)`: unban player or IP address
-* `minetest.kick_player(name, [reason])`: disconnect a player with a optional reason
+* `minetest.kick_player(name, [reason])`: disconnect a player with a optional
+  reason.
 
 ### Particles
 * `minetest.add_particle(particle definition)`
-    * Deprecated: `minetest.add_particle(pos, velocity, acceleration, expirationtime,
-      size, collisiondetection, texture, playername)`
+    * Deprecated: `minetest.add_particle(pos, velocity, acceleration,
+      expirationtime, size, collisiondetection, texture, playername)`
 
 * `minetest.add_particlespawner(particlespawner definition)`
-    * Add a `ParticleSpawner`, an object that spawns an amount of particles over `time` seconds
+    * Add a `ParticleSpawner`, an object that spawns an amount of particles
+      over `time` seconds.
     * Returns an `id`, and -1 if adding didn't succeed
     * `Deprecated: minetest.add_particlespawner(amount, time,
       minpos, maxpos,
@@ -3361,8 +3401,10 @@ These functions return the leftover itemstack.
       collisiondetection, texture, playername)`
 
 * `minetest.delete_particlespawner(id, player)`
-    * Delete `ParticleSpawner` with `id` (return value from `minetest.add_particlespawner`)
-    * If playername is specified, only deletes on the player's client, otherwise on all clients
+    * Delete `ParticleSpawner` with `id` (return value from
+      `minetest.add_particlespawner`).
+    * If playername is specified, only deletes on the player's client,
+      otherwise on all clients.
 
 ### Schematics
 * `minetest.create_schematic(p1, p2, probability_list, filename, slice_prob_list)`