diff --git a/data/mods/default/init.lua b/data/mods/default/init.lua index 75fdcb012..c0df7c514 100644 --- a/data/mods/default/init.lua +++ b/data/mods/default/init.lua @@ -208,6 +208,7 @@ -- - ^ Select sprite from spritesheet with optional animation and DM-style -- - texture selection based on yaw relative to camera -- - get_entity_name() +-- - get_luaentity() -- Player-only: (no-op for other objects) -- - get_player_name(): will return nil if is not a player -- - get_inventory() -> InvRef diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp index 2e635feb9..9803470c3 100644 --- a/src/scriptapi.cpp +++ b/src/scriptapi.cpp @@ -2001,6 +2001,17 @@ private: return 1; } + // get_luaentity(self) + static int l_get_luaentity(lua_State *L) + { + ObjectRef *ref = checkobject(L, 1); + LuaEntitySAO *co = getluaobject(ref); + if(co == NULL) return 0; + // Do it + luaentity_get(L, co->getId()); + return 1; + } + /* Player-only */ // get_player_name(self) @@ -2203,6 +2214,7 @@ const luaL_reg ObjectRef::methods[] = { method(ObjectRef, settexturemod), method(ObjectRef, setsprite), method(ObjectRef, get_entity_name), + method(ObjectRef, get_luaentity), // Player-only method(ObjectRef, get_player_name), method(ObjectRef, get_inventory),