diff options
author | Elias Fleckenstein <eliasfleckenstein@web.de> | 2021-05-10 16:07:31 +0200 |
---|---|---|
committer | Elias Fleckenstein <eliasfleckenstein@web.de> | 2021-05-10 16:07:31 +0200 |
commit | 6dc7a65d9e23a8bd20f729e041e84615b2313deb (patch) | |
tree | 03919afd6abe562e777942a9b1ae0fb9ccab161a /src/script/lua_api | |
parent | 7d7d4d675cd066a9dcd4467ff99c471a7ae09b88 (diff) | |
download | dragonfireclient-6dc7a65d9e23a8bd20f729e041e84615b2313deb.tar.xz |
Add ClientObjectRef:set_properties
Diffstat (limited to 'src/script/lua_api')
-rw-r--r-- | src/script/lua_api/l_clientobject.cpp | 11 | ||||
-rw-r--r-- | src/script/lua_api/l_clientobject.h | 5 |
2 files changed, 15 insertions, 1 deletions
diff --git a/src/script/lua_api/l_clientobject.cpp b/src/script/lua_api/l_clientobject.cpp index 7b9c4c3fa..0147fd48b 100644 --- a/src/script/lua_api/l_clientobject.cpp +++ b/src/script/lua_api/l_clientobject.cpp @@ -160,6 +160,16 @@ int ClientObjectRef::l_get_properties(lua_State *L) return 1; } +int ClientObjectRef::l_set_properties(lua_State *L) +{ + ClientObjectRef *ref = checkobject(L, 1); + GenericCAO *gcao = get_generic_cao(ref, L); + ObjectProperties prop = *gcao->getProperties(); + read_object_properties(L, 2, nullptr, &prop, getClient(L)->idef()); + gcao->setProperties(prop); + return 1; +} + int ClientObjectRef::l_get_hp(lua_State *L) { ClientObjectRef *ref = checkobject(L, 1); @@ -259,6 +269,7 @@ luaL_Reg ClientObjectRef::methods[] = {luamethod(ClientObjectRef, get_pos), luamethod(ClientObjectRef, get_nametag), luamethod(ClientObjectRef, get_item_textures), luamethod(ClientObjectRef, get_properties), + luamethod(ClientObjectRef, set_properties), luamethod(ClientObjectRef, get_hp), luamethod(ClientObjectRef, get_max_hp), luamethod(ClientObjectRef, punch), luamethod(ClientObjectRef, rightclick), {0, 0}}; diff --git a/src/script/lua_api/l_clientobject.h b/src/script/lua_api/l_clientobject.h index 160b6c4fe..22d2f4a1c 100644 --- a/src/script/lua_api/l_clientobject.h +++ b/src/script/lua_api/l_clientobject.h @@ -75,12 +75,15 @@ private: // get_nametag(self) static int l_get_nametag(lua_State *L); - // get_textures(self) + // get_item_textures(self) static int l_get_item_textures(lua_State *L); // get_properties(self) static int l_get_properties(lua_State *L); + // set_properties(self, properties) + static int l_set_properties(lua_State *L); + // get_hp(self) static int l_get_hp(lua_State *L); |