diff options
author | Loïc Blot <nerzhul@users.noreply.github.com> | 2017-01-27 08:59:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-01-27 08:59:30 +0100 |
commit | b7a98e98500402c3bbdb6d56d0fe42b4f5b3cedb (patch) | |
tree | cc45c9609f5e0fe7714e33615b0defe5d42f4840 /src/script/lua_api/l_object.h | |
parent | 2a8953107181b4df6ff55d0ae214490575609f49 (diff) | |
download | minetest-b7a98e98500402c3bbdb6d56d0fe42b4f5b3cedb.tar.gz minetest-b7a98e98500402c3bbdb6d56d0fe42b4f5b3cedb.tar.bz2 minetest-b7a98e98500402c3bbdb6d56d0fe42b4f5b3cedb.zip |
Implement player attribute backend (#4155)
* This backend permit mods to store extra players attributes to a common interface.
* Add the obj:set_attribute(attr, value) Lua call
* Add the obj:get_attribute(attr) Lua call
Examples:
* player:set_attribute("home:home", "10,25,-78")
* player:get_attribute("default:mana")
Attributes are saved as a json in the player file in extended_attributes
key
They are saved only if a modification on the attributes occurs and loaded
when emergePlayer is called (they are attached to PlayerSAO).
Diffstat (limited to 'src/script/lua_api/l_object.h')
-rw-r--r-- | src/script/lua_api/l_object.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/script/lua_api/l_object.h b/src/script/lua_api/l_object.h index 96d0abae8..2c9aa559a 100644 --- a/src/script/lua_api/l_object.h +++ b/src/script/lua_api/l_object.h @@ -226,6 +226,12 @@ private: // get_breath(self, breath) static int l_get_breath(lua_State *L); + // set_attribute(self, attribute, value) + static int l_set_attribute(lua_State *L); + + // get_attribute(self, attribute) + static int l_get_attribute(lua_State *L); + // set_inventory_formspec(self, formspec) static int l_set_inventory_formspec(lua_State *L); |