ObjectRef:get_entity_name() and fixing of comments in default/init.lua

master
Perttu Ahola 2012-01-02 13:12:56 +02:00
parent 49b7055cb3
commit ff82b95800
4 changed files with 30 additions and 5 deletions

View File

@ -160,7 +160,7 @@
-- - get_player_by_name(name) -- Get an ObjectRef to a player
-- - get_objects_inside_radius(pos, radius)
--
-- NodeMetaRef
-- NodeMetaRef (this stuff is subject to change in a future version)
-- - get_type()
-- - allows_text_input()
-- - set_text(text) -- eg. set the text of a sign
@ -194,18 +194,21 @@
-- - right_click(clicker); clicker = an another ObjectRef
-- - get_wield_digging_properties() -> digging property table
-- - damage_wielded_item(num) (item damage/wear range is 0-65535)
-- - add_to_inventory(itemstring): add an item to object inventory
-- - add_to_inventory(itemstring): add an item to object inventory (actually only works for the player as of now)
-- - add_to_inventory_later(itemstring): like above, but after callback returns (only allowed for craftitem callbacks)
-- - get_hp(): returns number of hitpoints (2 * number of hearts)
-- - set_hp(hp): set number of hitpoints (2 * number of hearts)
-- LuaEntitySAO-only:
-- LuaEntitySAO-only: (no-op for other objects)
-- - setvelocity({x=num, y=num, z=num})
-- - setacceleration({x=num, y=num, z=num})
-- - getacceleration() -> {x=num, y=num, z=num}
-- - settexturemod(mod)
-- - setsprite(p={x=0,y=0}, num_frames=1, framelength=0.2,
-- - select_horiz_by_yawpitch=false)
-- Player-only:
-- - ^ Select sprite from spritesheet with optional animation and DM-style
-- - texture selection based on yaw relative to camera
-- - get_entity_name()
-- Player-only: (no-op for other objects)
-- - get_player_name(): will return nil if is not a player
-- - get_inventory() -> InvRef
-- - inventory_set_list(name, {item1, item2, ...})
@ -247,8 +250,11 @@
-- {
-- physical = true,
-- collisionbox = {-0.5,-0.5,-0.5, 0.5,0.5,0.5},
-- visual = "cube",
-- visual = "cube"/"sprite",
-- visual_size = {x=1, y=1},
-- textures = {texture,texture,texture,texture,texture,texture},
-- spritediv = {x=1, y=1},
-- initial_sprite_basepos = {x=0, y=0},
-- on_activate = function(self, staticdata),
-- on_step = function(self, dtime),
-- on_punch = function(self, hitter),

View File

@ -1736,6 +1736,11 @@ void LuaEntitySAO::setSprite(v2s16 p, int num_frames, float framelength,
m_messages_out.push_back(aom);
}
std::string LuaEntitySAO::getName()
{
return m_init_name;
}
void LuaEntitySAO::sendPosition(bool do_interpolate, bool is_movement_end)
{
m_last_sent_move_precision = m_base_position.getDistanceFrom(

View File

@ -218,6 +218,7 @@ public:
void setTextureMod(const std::string &mod);
void setSprite(v2s16 p, int num_frames, float framelength,
bool select_horiz_by_yawpitch);
std::string getName();
private:
void sendPosition(bool do_interpolate, bool is_movement_end);

View File

@ -1989,6 +1989,18 @@ private:
return 0;
}
// get_entity_name(self)
static int l_get_entity_name(lua_State *L)
{
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
if(co == NULL) return 0;
// Do it
std::string name = co->getName();
lua_pushstring(L, name.c_str());
return 1;
}
/* Player-only */
// get_player_name(self)
@ -2190,6 +2202,7 @@ const luaL_reg ObjectRef::methods[] = {
method(ObjectRef, getacceleration),
method(ObjectRef, settexturemod),
method(ObjectRef, setsprite),
method(ObjectRef, get_entity_name),
// Player-only
method(ObjectRef, get_player_name),
method(ObjectRef, get_inventory),