summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/mods/default/init.lua1
-rw-r--r--src/scriptapi.cpp12
2 files changed, 13 insertions, 0 deletions
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),