X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fscript%2Flua_api%2Fl_object.h;h=2a76d8a706c32d1929b40c11a31f5187fa3edb97;hb=3face01a202040e4feff3b0936b4aa89c051c98d;hp=c8c67f2c52ae5c6d97e30675ba4af721c4761adf;hpb=15be2659eae6da2c3807713eb6e068d8aa436423;p=dragonfireclient.git diff --git a/src/script/lua_api/l_object.h b/src/script/lua_api/l_object.h index c8c67f2c5..2a76d8a70 100644 --- a/src/script/lua_api/l_object.h +++ b/src/script/lua_api/l_object.h @@ -17,8 +17,7 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef L_OBJECT_H_ -#define L_OBJECT_H_ +#pragma once #include "lua_api/l_base.h" #include "irrlichttypes.h" @@ -26,28 +25,41 @@ with this program; if not, write to the Free Software Foundation, Inc., class ServerActiveObject; class LuaEntitySAO; class PlayerSAO; -class Player; +class RemotePlayer; /* ObjectRef */ class ObjectRef : public ModApiBase { -private: - ServerActiveObject *m_object; - - static const char className[]; - static const luaL_reg methods[]; public: + ObjectRef(ServerActiveObject *object); + + ~ObjectRef() = default; + + // Creates an ObjectRef and leaves it on top of stack + // Not callable from Lua; all references are created on the C side. + static void create(lua_State *L, ServerActiveObject *object); + + static void set_null(lua_State *L); + + static void Register(lua_State *L); + static ObjectRef *checkobject(lua_State *L, int narg); static ServerActiveObject* getobject(ObjectRef *ref); private: + ServerActiveObject *m_object = nullptr; + + static const char className[]; + static const luaL_Reg methods[]; + + static LuaEntitySAO* getluaobject(ObjectRef *ref); static PlayerSAO* getplayersao(ObjectRef *ref); - static Player* getplayer(ObjectRef *ref); + static RemotePlayer *getplayer(ObjectRef *ref); // Exported functions @@ -57,15 +69,15 @@ class ObjectRef : public ModApiBase { // remove(self) static int l_remove(lua_State *L); - // getpos(self) + // get_pos(self) // returns: {x=num, y=num, z=num} - static int l_getpos(lua_State *L); + static int l_get_pos(lua_State *L); - // setpos(self, pos) - static int l_setpos(lua_State *L); + // set_pos(self, pos) + static int l_set_pos(lua_State *L); - // moveto(self, pos, continuous=false) - static int l_moveto(lua_State *L); + // move_to(self, pos, continuous=false) + static int l_move_to(lua_State *L); // punch(self, puncher, time_from_last_punch, tool_capabilities, dir) static int l_punch(lua_State *L); @@ -101,51 +113,78 @@ class ObjectRef : public ModApiBase { // set_armor_groups(self, groups) static int l_set_armor_groups(lua_State *L); + // get_armor_groups(self) + static int l_get_armor_groups(lua_State *L); + // set_physics_override(self, physics_override_speed, physics_override_jump, - // physics_override_gravity, sneak, sneak_glitch) + // physics_override_gravity, sneak, sneak_glitch, new_move) static int l_set_physics_override(lua_State *L); - // set_animation(self, frame_range, frame_speed, frame_blend) + // get_physics_override(self) + static int l_get_physics_override(lua_State *L); + + // set_animation(self, frame_range, frame_speed, frame_blend, frame_loop) static int l_set_animation(lua_State *L); + // set_animation_frame_speed(self, frame_speed) + static int l_set_animation_frame_speed(lua_State *L); + + // get_animation(self) + static int l_get_animation(lua_State *L); + // set_bone_position(self, std::string bone, v3f position, v3f rotation) static int l_set_bone_position(lua_State *L); + // get_bone_position(self, bone) + static int l_get_bone_position(lua_State *L); + // set_attach(self, parent, bone, position, rotation) static int l_set_attach(lua_State *L); + // get_attach(self) + static int l_get_attach(lua_State *L); + // set_detach(self) static int l_set_detach(lua_State *L); // set_properties(self, properties) static int l_set_properties(lua_State *L); + // get_properties(self) + static int l_get_properties(lua_State *L); + + // is_player(self) + static int l_is_player(lua_State *L); + /* LuaEntitySAO-only */ - // setvelocity(self, {x=num, y=num, z=num}) - static int l_setvelocity(lua_State *L); + // set_velocity(self, {x=num, y=num, z=num}) + static int l_set_velocity(lua_State *L); - // getvelocity(self) - static int l_getvelocity(lua_State *L); + // get_velocity(self) + static int l_get_velocity(lua_State *L); - // setacceleration(self, {x=num, y=num, z=num}) - static int l_setacceleration(lua_State *L); + // set_acceleration(self, {x=num, y=num, z=num}) + static int l_set_acceleration(lua_State *L); - // getacceleration(self) - static int l_getacceleration(lua_State *L); + // get_acceleration(self) + static int l_get_acceleration(lua_State *L); - // setyaw(self, radians) - static int l_setyaw(lua_State *L); + // set_yaw(self, radians) + static int l_set_yaw(lua_State *L); - // getyaw(self) - static int l_getyaw(lua_State *L); + // get_yaw(self) + static int l_get_yaw(lua_State *L); - // settexturemod(self, mod) - static int l_settexturemod(lua_State *L); + // set_texture_mod(self, mod) + static int l_set_texture_mod(lua_State *L); - // setsprite(self, p={x=0,y=0}, num_frames=1, framelength=0.2, + // l_get_texture_mod(self) + static int l_get_texture_mod(lua_State *L); + + // set_sprite(self, p={x=0,y=0}, num_frames=1, framelength=0.2, // select_horiz_by_yawpitch=false) - static int l_setsprite(lua_State *L); + static int l_set_sprite(lua_State *L); // DEPRECATED // get_entity_name(self) @@ -156,27 +195,43 @@ class ObjectRef : public ModApiBase { /* Player-only */ - // is_player(self) - static int l_is_player(lua_State *L); - // is_player_connected(self) static int l_is_player_connected(lua_State *L); // get_player_name(self) static int l_get_player_name(lua_State *L); + // get_player_velocity(self) + static int l_get_player_velocity(lua_State *L); + // get_look_dir(self) static int l_get_look_dir(lua_State *L); + // DEPRECATED // get_look_pitch(self) static int l_get_look_pitch(lua_State *L); + // DEPRECATED // get_look_yaw(self) static int l_get_look_yaw(lua_State *L); + // get_look_pitch2(self) + static int l_get_look_vertical(lua_State *L); + + // get_look_yaw2(self) + static int l_get_look_horizontal(lua_State *L); + + // set_look_vertical(self, radians) + static int l_set_look_vertical(lua_State *L); + + // set_look_horizontal(self, radians) + static int l_set_look_horizontal(lua_State *L); + + // DEPRECATED // set_look_pitch(self, radians) static int l_set_look_pitch(lua_State *L); + // DEPRECATED // set_look_yaw(self, radians) static int l_set_look_yaw(lua_State *L); @@ -186,6 +241,12 @@ class ObjectRef : public ModApiBase { // get_breath(self, breath) static int l_get_breath(lua_State *L); + // set_attribute(self, attribute, value) + static int l_set_attribute(lua_State *L); + + // get_attribute(self, attribute) + static int l_get_attribute(lua_State *L); + // set_inventory_formspec(self, formspec) static int l_set_inventory_formspec(lua_State *L); @@ -216,27 +277,61 @@ class ObjectRef : public ModApiBase { // hud_set_flags(self, flags) static int l_hud_set_flags(lua_State *L); + // hud_get_flags() + static int l_hud_get_flags(lua_State *L); + // hud_set_hotbar_itemcount(self, hotbar_itemcount) static int l_hud_set_hotbar_itemcount(lua_State *L); + // hud_get_hotbar_itemcount(self) + static int l_hud_get_hotbar_itemcount(lua_State *L); + // hud_set_hotbar_image(self, name) static int l_hud_set_hotbar_image(lua_State *L); + // hud_get_hotbar_image(self) + static int l_hud_get_hotbar_image(lua_State *L); + // hud_set_hotbar_selected_image(self, name) static int l_hud_set_hotbar_selected_image(lua_State *L); -public: - ObjectRef(ServerActiveObject *object); + // hud_get_hotbar_selected_image(self) + static int l_hud_get_hotbar_selected_image(lua_State *L); - ~ObjectRef(); + // set_sky(self, bgcolor, type, list, clouds = true) + static int l_set_sky(lua_State *L); - // Creates an ObjectRef and leaves it on top of stack - // Not callable from Lua; all references are created on the C side. - static void create(lua_State *L, ServerActiveObject *object); + // get_sky(self) + static int l_get_sky(lua_State *L); - static void set_null(lua_State *L); + // set_clouds(self, {density=, color=, ambient=, height=, thickness=, speed=}) + static int l_set_clouds(lua_State *L); - static void Register(lua_State *L); -}; + // get_clouds(self) + static int l_get_clouds(lua_State *L); + + // override_day_night_ratio(self, type) + static int l_override_day_night_ratio(lua_State *L); + + // get_day_night_ratio(self) + static int l_get_day_night_ratio(lua_State *L); -#endif /* L_OBJECT_H_ */ + // set_local_animation(self, {stand/idle}, {walk}, {dig}, {walk+dig}, frame_speed) + static int l_set_local_animation(lua_State *L); + + // get_local_animation(self) + static int l_get_local_animation(lua_State *L); + + // set_eye_offset(self, v3f first pv, v3f third pv) + static int l_set_eye_offset(lua_State *L); + + // get_eye_offset(self) + static int l_get_eye_offset(lua_State *L); + + // set_nametag_attributes(self, attributes) + static int l_set_nametag_attributes(lua_State *L); + + // get_nametag_attributes(self) + static int l_get_nametag_attributes(lua_State *L); + +};