Skip to content
Browse files

Documementation: Add advice on lifetime of ObjectRefs

  • Loading branch information
sfan5 committed Feb 23, 2020
1 parent 217f3a4 commit 6be7150cd5c18869911bcba8e5833155521d2780
Showing with 14 additions and 1 deletion.
  1. +14 −1 doc/lua_api.txt
@@ -5706,8 +5706,21 @@ Can be gotten via `minetest.get_node_timer(pos)`.

Moving things in the game are generally these.
This is basically a reference to a C++ `ServerActiveObject`.

### Advice on handling `ObjectRefs`

When you receive an `ObjectRef` as a callback argument or from another API
function, it is possible to store the reference somewhere and keep it around.
It will keep functioning until the object is unloaded or removed.

However, doing this is **NOT** recommended as there is (intentionally) no method
to test if a previously acquired `ObjectRef` is still valid.
Instead, `ObjectRefs` should be "let go" of as soon as control is returned from
Lua back to the engine.
Doing so is much less error-prone and you will never need to wonder if the
object you are working with still exists.

This is basically a reference to a C++ `ServerActiveObject`

### Methods

0 comments on commit 6be7150

Please sign in to comment.
You can’t perform that action at this time.