]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/script/lua_api/l_object.h
Add API function to invoke player respawn
[dragonfireclient.git] / src / script / lua_api / l_object.h
index 57dac0e6486eea17fdd08223c3d572bfd7c646be..b36bab49265767f18112667c060516e0c65ca626 100644 (file)
@@ -17,40 +17,48 @@ 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
 
-extern "C" {
-#include <lua.h>
-#include <lauxlib.h>
-}
+#include "lua_api/l_base.h"
+#include "irrlichttypes.h"
 
 class ServerActiveObject;
 class LuaEntitySAO;
 class PlayerSAO;
-class Player;
+class RemotePlayer;
 
 /*
        ObjectRef
 */
 
-class ObjectRef
-{
-private:
-       ServerActiveObject *m_object;
-
-       static const char className[];
-       static const luaL_reg methods[];
+class ObjectRef : public ModApiBase {
 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 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
 
@@ -60,30 +68,25 @@ class ObjectRef
        // remove(self)
        static int l_remove(lua_State *L);
 
-       // getpos(self)
-       // returns: {x=num, y=num, z=num}
-       static int l_getpos(lua_State *L);
+       // get_pos(self)
+       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)
+       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);
 
-       // right_click(self, clicker); clicker = an another ObjectRef
+       // right_click(self, clicker)
        static int l_right_click(lua_State *L);
 
-       // set_hp(self, hp)
-       // hp = number of hitpoints (2 * number of hearts)
-       // returns: nil
+       // set_hp(self, hp, reason)
        static int l_set_hp(lua_State *L);
 
        // get_hp(self)
-       // returns: number of hitpoints (2 * number of hearts)
-       // 0 if not applicable to this type of object
        static int l_get_hp(lua_State *L);
 
        // get_inventory(self)
@@ -98,56 +101,94 @@ class ObjectRef
        // get_wielded_item(self)
        static int l_get_wielded_item(lua_State *L);
 
-       // set_wielded_item(self, itemstack or itemstring or table or nil)
+       // set_wielded_item(self, item)
        static int l_set_wielded_item(lua_State *L);
 
        // set_armor_groups(self, groups)
        static int l_set_armor_groups(lua_State *L);
 
-       // set_physics_override(self, physics_override_speed, physics_override_jump, physics_override_gravity)
+       // get_armor_groups(self)
+       static int l_get_armor_groups(lua_State *L);
+
+       // set_physics_override(self, override_table)
        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_bone_position(self, std::string bone, v3f position, v3f rotation)
+       // 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, bone, position, 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);
+
+       // get_children(self)
+       static int l_get_children(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, velocity)
+       static int l_set_velocity(lua_State *L);
 
-       // getvelocity(self)
-       static int l_getvelocity(lua_State *L);
+       // add_velocity(self, velocity)
+       static int l_add_velocity(lua_State *L);
 
-       // setacceleration(self, {x=num, y=num, z=num})
-       static int l_setacceleration(lua_State *L);
+       // get_velocity(self)
+       static int l_get_velocity(lua_State *L);
 
-       // getacceleration(self)
-       static int l_getacceleration(lua_State *L);
+       // set_acceleration(self, acceleration)
+       static int l_set_acceleration(lua_State *L);
 
-       // setyaw(self, radians)
-       static int l_setyaw(lua_State *L);
+       // get_acceleration(self)
+       static int l_get_acceleration(lua_State *L);
 
-       // getyaw(self)
-       static int l_getyaw(lua_State *L);
+       // set_rotation(self, rotation)
+       static int l_set_rotation(lua_State *L);
 
-       // settexturemod(self, mod)
-       static int l_settexturemod(lua_State *L);
+       // get_rotation(self)
+       static int l_get_rotation(lua_State *L);
 
-       // setsprite(self, p={x=0,y=0}, num_frames=1, framelength=0.2,
-       //           select_horiz_by_yawpitch=false)
-       static int l_setsprite(lua_State *L);
+       // set_yaw(self, yaw)
+       static int l_set_yaw(lua_State *L);
+
+       // get_yaw(self)
+       static int l_get_yaw(lua_State *L);
+
+       // set_texture_mod(self, mod)
+       static int l_set_texture_mod(lua_State *L);
+
+       // l_get_texture_mod(self)
+       static int l_get_texture_mod(lua_State *L);
+
+       // set_sprite(self, start_frame, num_frames, framelength, select_x_by_camera)
+       static int l_set_sprite(lua_State *L);
 
        // DEPRECATED
        // get_entity_name(self)
@@ -158,33 +199,75 @@ class ObjectRef
 
        /* Player-only */
 
-       // is_player(self)
-       static int l_is_player(lua_State *L);
-
        // get_player_name(self)
        static int l_get_player_name(lua_State *L);
 
+       // get_fov(self)
+       static int l_get_fov(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_fov(self, degrees, is_multiplier, transition_time)
+       static int l_set_fov(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);
 
+       // set_breath(self, breath)
+       static int l_set_breath(lua_State *L);
+
+       // get_breath(self, breath)
+       static int l_get_breath(lua_State *L);
+
+       // DEPRECATED
+       // set_attribute(self, attribute, value)
+       static int l_set_attribute(lua_State *L);
+
+       // DEPRECATED
+       // get_attribute(self, attribute)
+       static int l_get_attribute(lua_State *L);
+
+       // get_meta(self)
+       static int l_get_meta(lua_State *L);
+
        // set_inventory_formspec(self, formspec)
        static int l_set_inventory_formspec(lua_State *L);
 
-       // get_inventory_formspec(self) -> formspec
+       // get_inventory_formspec(self)
        static int l_get_inventory_formspec(lua_State *L);
 
+       // set_formspec_prepend(self, formspec)
+       static int l_set_formspec_prepend(lua_State *L);
+
+       // get_formspec_prepend(self)
+       static int l_get_formspec_prepend(lua_State *L);
+
        // get_player_control(self)
        static int l_get_player_control(lua_State *L);
 
@@ -209,21 +292,97 @@ class ObjectRef
        // 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);
 
-public:
-       ObjectRef(ServerActiveObject *object);
+       // hud_get_hotbar_itemcount(self)
+       static int l_hud_get_hotbar_itemcount(lua_State *L);
 
-       ~ObjectRef();
+       // hud_set_hotbar_image(self, name)
+       static int l_hud_set_hotbar_image(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);
+       // hud_get_hotbar_image(self)
+       static int l_hud_get_hotbar_image(lua_State *L);
 
-       static void set_null(lua_State *L);
+       // hud_set_hotbar_selected_image(self, name)
+       static int l_hud_set_hotbar_selected_image(lua_State *L);
 
-       static void Register(lua_State *L);
-};
+       // hud_get_hotbar_selected_image(self)
+       static int l_hud_get_hotbar_selected_image(lua_State *L);
+
+       // set_sky(self, sky_parameters)
+       static int l_set_sky(lua_State *L);
 
-#endif /* L_OBJECT_H_ */
+       // get_sky(self, as_table)
+       static int l_get_sky(lua_State *L);
+
+       // DEPRECATED
+       // get_sky_color(self)
+       static int l_get_sky_color(lua_State* L);
+
+       // set_sun(self, sun_parameters)
+       static int l_set_sun(lua_State *L);
+
+       // get_sun(self)
+       static int l_get_sun(lua_State *L);
+
+       // set_moon(self, moon_parameters)
+       static int l_set_moon(lua_State *L);
+
+       // get_moon(self)
+       static int l_get_moon(lua_State *L);
+
+       // set_stars(self, star_parameters)
+       static int l_set_stars(lua_State *L);
+
+       // get_stars(self)
+       static int l_get_stars(lua_State *L);
+
+       // set_clouds(self, cloud_parameters)
+       static int l_set_clouds(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);
+
+       // set_local_animation(self, idle, walk, dig, walk_while_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, firstperson, thirdperson)
+       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);
+
+       // send_mapblock(pos)
+       static int l_send_mapblock(lua_State *L);
+
+       // set_minimap_modes(self, modes, wanted_mode)
+       static int l_set_minimap_modes(lua_State *L);
+
+       // set_lighting(self, lighting)
+       static int l_set_lighting(lua_State *L);
+       
+       // get_lighting(self)
+       static int l_get_lighting(lua_State *L);
+
+       // respawn(self)
+       static int l_respawn(lua_State *L);
+};