51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifndef L_VMANIP_H_
-#define L_VMANIP_H_
+#pragma once
-#include "lua_api/l_base.h"
-#include "irr_v3d.h"
#include <map>
+#include "irr_v3d.h"
+#include "lua_api/l_base.h"
class Map;
class MapBlock;
-class ManualMapVoxelManipulator;
+class MMVManip;
/*
VoxelManip
*/
-class LuaVoxelManip : public ModApiBase {
+class LuaVoxelManip : public ModApiBase
+{
private:
- ManualMapVoxelManipulator *vm;
std::map<v3s16, MapBlock *> modified_blocks;
- bool is_mapgen_vm;
+ bool is_mapgen_vm = false;
static const char className[];
- static const luaL_reg methods[];
+ static const luaL_Reg methods[];
static int gc_object(lua_State *L);
static int l_set_data(lua_State *L);
static int l_write_to_map(lua_State *L);
+ static int l_get_node_at(lua_State *L);
+ static int l_set_node_at(lua_State *L);
+
static int l_update_map(lua_State *L);
static int l_update_liquids(lua_State *L);
+
static int l_calc_lighting(lua_State *L);
static int l_set_lighting(lua_State *L);
+ static int l_get_light_data(lua_State *L);
+ static int l_set_light_data(lua_State *L);
+
+ static int l_get_param2_data(lua_State *L);
+ static int l_set_param2_data(lua_State *L);
+
+ static int l_was_modified(lua_State *L);
+ static int l_get_emerged_area(lua_State *L);
public:
- LuaVoxelManip(ManualMapVoxelManipulator *mmvm, bool is_mapgen_vm);
+ MMVManip *vm = nullptr;
+
+ LuaVoxelManip(MMVManip *mmvm, bool is_mapgen_vm);
+ LuaVoxelManip(Map *map, v3s16 p1, v3s16 p2);
LuaVoxelManip(Map *map);
~LuaVoxelManip();
static void Register(lua_State *L);
};
-
-#endif /* L_VMANIP_H_ */