38 const std::vector<content_t> &filter,
int start_radius, F &&getNode);
45 const std::vector<content_t> &filter,
bool grouped, F &&iterate);
50 const std::vector<content_t> &filter, F &&getNode);
239 static void Initialize(lua_State *L,
int top);
297 const std::vector<std::string> &trigger_contents,
298 const std::vector<std::string> &required_neighbors,
299 float trigger_interval, u32 trigger_chance,
bool simple_catch_up, s16 min_y, s16 max_y):
339 u32 active_object_count, u32 active_object_count_wider);
349 const std::string &
name,
377 static int l_next(lua_State *L);
381 const core::line3d<f32> &shootline,
382 bool objects_pointable,
383 bool liquids_pointable,
384 const std::optional<Pointabilities> &pointabilities) :
385 state(shootline, objects_pointable, liquids_pointable, pointabilities)
Definition: serverenvironment.h:56
u32 m_trigger_chance
Definition: l_env.h:291
s16 m_min_y
Definition: l_env.h:293
LuaABM(lua_State *L, int id, const std::vector< std::string > &trigger_contents, const std::vector< std::string > &required_neighbors, float trigger_interval, u32 trigger_chance, bool simple_catch_up, s16 min_y, s16 max_y)
Definition: l_env.h:296
virtual float getTriggerInterval()
Definition: l_env.h:318
float m_trigger_interval
Definition: l_env.h:290
virtual bool getSimpleCatchUp()
Definition: l_env.h:326
virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n, u32 active_object_count, u32 active_object_count_wider)
Definition: l_env.cpp:69
int m_id
Definition: l_env.h:286
virtual const std::vector< std::string > & getTriggerContents() const
Definition: l_env.h:310
virtual u32 getTriggerChance()
Definition: l_env.h:322
virtual const std::vector< std::string > & getRequiredNeighbors() const
Definition: l_env.h:314
std::vector< std::string > m_required_neighbors
Definition: l_env.h:289
virtual s16 getMinY()
Definition: l_env.h:330
std::vector< std::string > m_trigger_contents
Definition: l_env.h:288
virtual s16 getMaxY()
Definition: l_env.h:334
bool m_simple_catch_up
Definition: l_env.h:292
s16 m_max_y
Definition: l_env.h:294
virtual void trigger(ServerEnvironment *env, v3s16 p, MapNode n, float dtime_s)
Definition: l_env.cpp:113
LuaLBM(lua_State *L, int id, const std::set< std::string > &trigger_contents, const std::string &name, bool run_at_every_load)
Definition: l_env.h:347
int m_id
Definition: l_env.h:345
Lua wrapper for RaycastState objects.
Definition: l_env.h:362
LuaRaycast(const core::line3d< f32 > &shootline, bool objects_pointable, bool liquids_pointable, const std::optional< Pointabilities > &pointabilities)
Constructor with the same arguments as RaycastState.
Definition: l_env.h:380
static int l_next(lua_State *L)
Definition: l_env.cpp:155
static const char className[]
Definition: l_env.h:394
static const luaL_Reg methods[]
Definition: l_env.h:364
static int gc_object(lua_State *L)
Definition: l_env.cpp:204
RaycastState state
Inner state.
Definition: l_env.h:366
static int create_object(lua_State *L)
Creates a LuaRaycast and leaves it on top of the stack.
Definition: l_env.cpp:175
static int findNodesInArea(lua_State *L, const NodeDefManager *ndef, const std::vector< content_t > &filter, bool grouped, F &&iterate)
Definition: l_env.cpp:933
static const EnumString es_ClearObjectsMode[]
Definition: l_env.h:52
static void collectNodeIds(lua_State *L, int idx, const NodeDefManager *ndef, std::vector< content_t > &filter)
Definition: l_env.cpp:854
static void checkArea(v3s16 &minp, v3s16 &maxp)
Definition: l_env.cpp:917
static int findNodeNear(lua_State *L, v3s16 pos, int radius, const std::vector< content_t > &filter, int start_radius, F &&getNode)
Definition: l_env.cpp:872
static int findNodesInAreaUnderAir(lua_State *L, v3s16 minp, v3s16 maxp, const std::vector< content_t > &filter, F &&getNode)
Definition: l_env.cpp:1038
static const EnumString es_BlockStatusType[]
Definition: l_env.h:53
static int l_get_node_or_nil(lua_State *L)
Definition: l_env.cpp:1527
static int l_spawn_tree(lua_State *L)
Definition: l_env.cpp:1672
static void InitializeEmerge(lua_State *L, int top)
Definition: l_env.cpp:1705
static int l_add_node_level(lua_State *L)
Definition: l_env.cpp:1577
static int l_find_node_near(lua_State *L)
Definition: l_env.cpp:1592
static int l_find_nodes_in_area(lua_State *L)
Definition: l_env.cpp:1611
static int l_get_node_max_level(lua_State *L)
Definition: l_env.cpp:1540
static int l_set_node_level(lua_State *L)
Definition: l_env.cpp:1562
static int l_find_nodes_in_area_under_air(lua_State *L)
Definition: l_env.cpp:1651
static MMVManip * getVManip(lua_State *L)
Definition: l_env.cpp:1697
static int l_get_node_level(lua_State *L)
Definition: l_env.cpp:1551
static int l_bulk_set_node(lua_State *L)
Definition: l_env.cpp:268
static int l_forceload_block(lua_State *L)
Definition: l_env.cpp:1403
static int l_find_nodes_in_area_under_air(lua_State *L)
Definition: l_env.cpp:1064
static int l_fix_light(lua_State *L)
Definition: l_env.cpp:1188
static int l_raycast(lua_State *L)
Definition: l_env.cpp:1215
static int l_set_timeofday(lua_State *L)
Definition: l_env.cpp:806
static int l_get_translated_string(lua_State *L)
Definition: l_env.cpp:1442
static int l_swap_node(lua_State *L)
Definition: l_env.cpp:319
static int l_add_node(lua_State *L)
Definition: l_env.cpp:298
static int l_get_voxel_manip(lua_State *L)
Definition: l_env.cpp:1144
static int l_find_nodes_with_meta(lua_State *L)
Definition: l_env.cpp:621
static int l_get_node_max_level(lua_State *L)
Definition: l_env.cpp:530
static int l_spawn_tree(lua_State *L)
Definition: l_env.cpp:1365
static int l_get_node_level(lua_State *L)
Definition: l_env.cpp:542
static int l_emerge_area(lua_State *L)
Definition: l_env.cpp:1246
static int l_get_objects_inside_radius(lua_State *L)
Definition: l_env.cpp:756
static int l_get_node_light(lua_State *L)
Definition: l_env.cpp:357
static int l_get_connected_players(lua_State *L)
Definition: l_env.cpp:715
static int l_forceload_free_block(lua_State *L)
Definition: l_env.cpp:1432
static int l_set_node(lua_State *L)
Definition: l_env.cpp:253
static int l_get_player_by_name(lua_State *L)
Definition: l_env.cpp:738
static int l_load_area(lua_State *L)
Definition: l_env.cpp:1222
static int l_get_timeofday(lua_State *L)
Definition: l_env.cpp:824
static int l_get_gametime(lua_State *L)
Definition: l_env.cpp:845
static int l_find_nodes_in_area(lua_State *L)
Definition: l_env.cpp:1006
static int l_set_node_level(lua_State *L)
Definition: l_env.cpp:555
static int l_get_node_raw(lua_State *L)
Definition: l_env.cpp:333
static int l_line_of_sight(lua_State *L)
Definition: l_env.cpp:1167
static int l_find_node_near(lua_State *L)
Definition: l_env.cpp:891
static void Initialize(lua_State *L, int top)
Definition: l_env.cpp:1454
static int l_get_perlin(lua_State *L)
Definition: l_env.cpp:1099
static int l_add_entity(lua_State *L)
Definition: l_env.cpp:661
static int l_get_meta(lua_State *L)
Definition: l_env.cpp:638
static int l_get_node_timer(lua_State *L)
Definition: l_env.cpp:649
static int l_clear_objects(lua_State *L)
Definition: l_env.cpp:1152
static int l_add_node_level(lua_State *L)
Definition: l_env.cpp:572
static int l_get_day_count(lua_State *L)
Definition: l_env.cpp:836
static int l_punch_node(lua_State *L)
Definition: l_env.cpp:497
static int l_add_item(lua_State *L)
Definition: l_env.cpp:686
static int l_get_natural_light(lua_State *L)
Definition: l_env.cpp:384
static int l_get_node_boxes(lua_State *L)
Definition: l_env.cpp:590
static int l_dig_node(lua_State *L)
Definition: l_env.cpp:465
static int l_transforming_liquid_add(lua_State *L)
Definition: l_env.cpp:1392
static int l_get_objects_in_area(lua_State *L)
Definition: l_env.cpp:780
static void InitializeClient(lua_State *L, int top)
Definition: l_env.cpp:1507
static int l_find_path(lua_State *L)
Definition: l_env.cpp:1325
static int l_compare_block_status(lua_State *L)
Definition: l_env.cpp:1413
static int l_delete_area(lua_State *L)
Definition: l_env.cpp:1292
static int l_place_node(lua_State *L)
Definition: l_env.cpp:422
static int l_remove_node(lua_State *L)
Definition: l_env.cpp:305
static int l_get_perlin_map(lua_State *L)
Definition: l_env.cpp:1125
This class is for getting the actual properties of nodes from their content ID.
Definition: nodedef.h:556
Describes the state of a raycast.
Definition: raycast.h:33
Definition: serverenvironment.h:220
Definition: scripting_server.h:48
core::vector3d< s16 > v3s16
Definition: irr_v3d.h:28
#define idx(x, y)
Definition: noise.cpp:552
Definition: serverenvironment.h:91
std::string name
Definition: serverenvironment.h:94
std::set< std::string > trigger_contents
Definition: serverenvironment.h:93
bool run_at_every_load
Definition: serverenvironment.h:95
Definition: mapnode.h:139
int args_ref
Definition: l_env.h:400
std::string origin
Definition: l_env.h:402
ServerScripting * script
Definition: l_env.h:398
int callback_ref
Definition: l_env.h:399
unsigned int refcount
Definition: l_env.h:401
static std::string p(std::string path)
Definition: test_filesys.cpp:64