Implement player attribute backend (#4155)
authorLoïc Blot <nerzhul@users.noreply.github.com>
Fri, 27 Jan 2017 07:59:30 +0000 (08:59 +0100)
committerGitHub <noreply@github.com>
Fri, 27 Jan 2017 07:59:30 +0000 (08:59 +0100)
commitb7a98e98500402c3bbdb6d56d0fe42b4f5b3cedb
treecc45c9609f5e0fe7714e33615b0defe5d42f4840
parent2a8953107181b4df6ff55d0ae214490575609f49
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).
doc/lua_api.txt
src/content_sao.cpp
src/content_sao.h
src/remoteplayer.cpp
src/remoteplayer.h
src/script/lua_api/l_object.cpp
src/script/lua_api/l_object.h
src/server.h
src/serverenvironment.cpp