diff options
author | kwolekr <kwolekr@minetest.net> | 2015-04-16 04:12:26 -0400 |
---|---|---|
committer | kwolekr <kwolekr@minetest.net> | 2015-04-16 16:27:05 -0400 |
commit | 479f38973e13680d6a39d9c2a7f29fd330b67d41 (patch) | |
tree | c6719cf37bfbc44f98cc33b9b2693542b8fdd8cc /doc | |
parent | 0c634a97197d50f2ca58825f1b215d0407397ac6 (diff) | |
download | minetest-479f38973e13680d6a39d9c2a7f29fd330b67d41.tar.gz minetest-479f38973e13680d6a39d9c2a7f29fd330b67d41.tar.bz2 minetest-479f38973e13680d6a39d9c2a7f29fd330b67d41.zip |
Schematics: Refactor NodeResolver and add NodeResolveMethod
NodeResolver name lists now belong to the NodeResolver object instead of
the associated NodeDefManager. In addition to minimizing unnecessary
abstraction and overhead, this move permits NodeResolvers to look up nodes
that they had previously set pending for resolution. So far, this
functionality has been used in the case of schematics for
serialization/deserialization.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/lua_api.txt | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt index 25f9d53ca..a7fcaeab1 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -2170,14 +2170,23 @@ These functions return the leftover itemstack. * `force_placement` is a boolean indicating whether nodes other than `air` and `ignore` are replaced by the schematic -* `minetest.serialize_schematic(schematic, format, use_comments)` +* `minetest.serialize_schematic(schematic, format, options)` * Return the serialized schematic specified by schematic (see: Schematic specifier) * in the `format` of either "mts" or "lua". * "mts" - a string containing the binary MTS data used in the MTS file format * "lua" - a string containing Lua code representing the schematic in table format - * If `use_comments` is true, the Lua code generated will have (X, Z) position comments - * for every X row generated in the schematic data for easier reading. This parameter - * is ignored if `format` is not "lua". + * `options` is a table containing the following optional parameters: + * If `use_comments` is true and `format` is "lua", the Lua code generated will have (X, Z) + * position comments for every X row generated in the schematic data for easier reading. + * If `register_after_load` is true, then `schematic`, if not yet loaded, will be registered + * after loading and persist in memory. + * node_resolve_method can be one of either "none", "direct", or "deferred" (default: "none") + * This sets the way method by with node names are mapped to their content IDs, if loaded: + * "none" performs no node resolution and preserves all node names from the schematic definition + * "direct" performs an immediate lookup of content ID, given all the nodes that have been + * registered up to this point in script execution + * "deferred" pends node resolution until after the script registration phase has ended + * In practice, it is recommended to use "none" in nearly all use cases. ### Misc. * `minetest.get_connected_players()`: returns list of `ObjectRefs` |