X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fscript%2Flua_api%2Fl_vmanip.h;h=15ab9eef8c2fc8717604c038b3fa0bdefb8ae789;hb=88b436e6a9c98af7215bd115e1b7a3f1a1db99d3;hp=568f7104ed74df256eddd2b22e995606a0c5a7c1;hpb=d6ac3d8d9a6484f2d348d1caea203de0069b6bd6;p=dragonfireclient.git diff --git a/src/script/lua_api/l_vmanip.h b/src/script/lua_api/l_vmanip.h index 568f7104e..15ab9eef8 100644 --- a/src/script/lua_api/l_vmanip.h +++ b/src/script/lua_api/l_vmanip.h @@ -17,39 +17,57 @@ with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ -#ifndef L_VMANIP_H_ -#define L_VMANIP_H_ - -extern "C" { -#include -#include -} +#pragma once +#include #include "irr_v3d.h" -#include "map.h" +#include "lua_api/l_base.h" + +class Map; +class MapBlock; +class MMVManip; /* VoxelManip */ -class LuaVoxelManip +class LuaVoxelManip : public ModApiBase { private: - ManualMapVoxelManipulator *vm; std::map modified_blocks; + 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_read_chunk(lua_State *L); - static int l_write_chunk(lua_State *L); + static int l_read_from_map(lua_State *L); + static int l_get_data(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: + MMVManip *vm = nullptr; + + LuaVoxelManip(MMVManip *mmvm, bool is_mapgen_vm); + LuaVoxelManip(Map *map, v3s16 p1, v3s16 p2); LuaVoxelManip(Map *map); ~LuaVoxelManip(); @@ -61,5 +79,3 @@ class LuaVoxelManip static void Register(lua_State *L); }; - -#endif // L_VMANIP_H_