From 2445cbbbdca54d40d1c0a069cc360b06bf44d291 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Mon, 2 Jan 2012 16:08:59 +0200 Subject: [PATCH] Add ObjectRef:get_luaentity() --- data/mods/default/init.lua | 1 + src/scriptapi.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/data/mods/default/init.lua b/data/mods/default/init.lua index 75fdcb01..c0df7c51 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 2e635feb..9803470c 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),