From: Perttu Ahola Date: Mon, 2 Jan 2012 14:08:59 +0000 (+0200) Subject: Add ObjectRef:get_luaentity() X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=2445cbbbdca54d40d1c0a069cc360b06bf44d291;p=zefram%2Fminetest%2Fminetest_engine.git Add ObjectRef:get_luaentity() --- 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),