1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add get and set functions for the nametag color

This commit is contained in:
TeTpaAka 2015-05-14 15:54:54 +02:00 committed by est31
parent 99cf53c908
commit 86a963caca
9 changed files with 104 additions and 2 deletions

View file

@ -1274,6 +1274,48 @@ int ObjectRef::l_override_day_night_ratio(lua_State *L)
return 1;
}
// set_nametag_color(self, color)
int ObjectRef::l_set_nametag_color(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
PlayerSAO *playersao = getplayersao(ref);
if (playersao == NULL)
return 0;
video::SColor color(255,255,255,255);
if (!lua_isnil(L, 2))
color = readARGB8(L, 2);
playersao->setNametagColor(color);
lua_pushboolean(L, true);
return 1;
}
// get_nametag_color(self)
int ObjectRef::l_get_nametag_color(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
PlayerSAO *playersao = getplayersao(ref);
if (playersao == NULL)
return 0;
video::SColor color = playersao->getNametagColor();
lua_newtable(L);
lua_pushnumber(L, color.getAlpha());
lua_setfield(L, -2, "a");
lua_pushnumber(L, color.getRed());
lua_setfield(L, -2, "r");
lua_pushnumber(L, color.getGreen());
lua_setfield(L, -2, "g");
lua_pushnumber(L, color.getBlue());
lua_setfield(L, -2, "b");
return 1;
}
ObjectRef::ObjectRef(ServerActiveObject *object):
m_object(object)
{
@ -1396,5 +1438,7 @@ const luaL_reg ObjectRef::methods[] = {
luamethod(ObjectRef, override_day_night_ratio),
luamethod(ObjectRef, set_local_animation),
luamethod(ObjectRef, set_eye_offset),
luamethod(ObjectRef, set_nametag_color),
luamethod(ObjectRef, get_nametag_color),
{0,0}
};

View file

@ -240,6 +240,12 @@ private:
// set_eye_offset(self, v3f first pv, v3f third pv)
static int l_set_eye_offset(lua_State *L);
// set_nametag_color(self, color)
static int l_set_nametag_color(lua_State *L);
// get_nametag_color(self)
static int l_get_nametag_color(lua_State *L);
public:
ObjectRef(ServerActiveObject *object);