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"
*/
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 luaL_Reg methods[];
+
+
static LuaEntitySAO* getluaobject(ObjectRef *ref);
static PlayerSAO* getplayersao(ObjectRef *ref);
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);
// get_physics_override(self)
// 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_velocity(self, {x=num, y=num, z=num})
static int l_set_velocity(lua_State *L);
+ // add_velocity(self, {x=num, y=num, z=num})
+ static int l_add_velocity(lua_State *L);
+
// get_velocity(self)
static int l_get_velocity(lua_State *L);
// get_acceleration(self)
static int l_get_acceleration(lua_State *L);
+ // set_rotation(self, {x=num, y=num, z=num})
+ static int l_set_rotation(lua_State *L);
+
+ // get_rotation(self)
+ static int l_get_rotation(lua_State *L);
+
// set_yaw(self, radians)
static int l_set_yaw(lua_State *L);
// get_player_velocity(self)
static int l_get_player_velocity(lua_State *L);
+ // add_player_velocity(self, {x=num, y=num, z=num})
+ static int l_add_player_velocity(lua_State *L);
+
// get_look_dir(self)
static int l_get_look_dir(lua_State *L);
// 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
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) -> formspec
+ static int l_get_formspec_prepend(lua_State *L);
+
// get_player_control(self)
static int l_get_player_control(lua_State *L);
// hud_get_hotbar_selected_image(self)
static int l_hud_get_hotbar_selected_image(lua_State *L);
- // set_sky(self, type, list)
+ // set_sky(self, bgcolor, type, list, clouds = true)
static int l_set_sky(lua_State *L);
- // get_sky(self, type, list)
+ // get_sky(self)
static int l_get_sky(lua_State *L);
+ // set_clouds(self, {density=, color=, ambient=, height=, thickness=, speed=})
+ 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_nametag_attributes(self)
static int l_get_nametag_attributes(lua_State *L);
-public:
- ObjectRef(ServerActiveObject *object);
-
- ~ObjectRef();
-
- // 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);
+ // send_mapblock(pos)
+ static int l_send_mapblock(lua_State *L);
};
-
-#endif /* L_OBJECT_H_ */