aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/client/init.lua1
-rw-r--r--builtin/common/voxelarea.lua (renamed from builtin/game/voxelarea.lua)0
-rw-r--r--builtin/game/init.lua2
-rw-r--r--src/script/lua_api/l_env.cpp25
-rw-r--r--src/script/scripting_client.cpp2
5 files changed, 17 insertions, 13 deletions
diff --git a/builtin/client/init.lua b/builtin/client/init.lua
index 8c6512ec1..d750375b8 100644
--- a/builtin/client/init.lua
+++ b/builtin/client/init.lua
@@ -7,6 +7,7 @@ dofile(clientpath .. "register.lua")
dofile(commonpath .. "after.lua")
dofile(commonpath .. "chatcommands.lua")
dofile(commonpath .. "vector.lua")
+dofile(commonpath .. "voxelarea.lua")
dofile(clientpath .. "util.lua")
dofile(clientpath .. "chatcommands.lua")
dofile(clientpath .. "death_formspec.lua")
diff --git a/builtin/game/voxelarea.lua b/builtin/common/voxelarea.lua
index 64436bf1a..64436bf1a 100644
--- a/builtin/game/voxelarea.lua
+++ b/builtin/common/voxelarea.lua
diff --git a/builtin/game/init.lua b/builtin/game/init.lua
index bb007fabd..9a9966d7e 100644
--- a/builtin/game/init.lua
+++ b/builtin/game/init.lua
@@ -16,6 +16,7 @@ if core.settings:get_bool("profiler.load") then
end
dofile(commonpath .. "after.lua")
+dofile(commonpath .. "voxelarea.lua")
dofile(gamepath .. "item_entity.lua")
dofile(gamepath .. "deprecated.lua")
dofile(gamepath .. "misc.lua")
@@ -28,7 +29,6 @@ dofile(gamepath .. "static_spawn.lua")
dofile(gamepath .. "detached_inventory.lua")
assert(loadfile(gamepath .. "falling.lua"))(builtin_shared)
dofile(gamepath .. "features.lua")
-dofile(gamepath .. "voxelarea.lua")
dofile(gamepath .. "forceloading.lua")
dofile(gamepath .. "statbars.lua")
dofile(gamepath .. "knockback.lua")
diff --git a/src/script/lua_api/l_env.cpp b/src/script/lua_api/l_env.cpp
index 74db996a4..876f84d53 100644
--- a/src/script/lua_api/l_env.cpp
+++ b/src/script/lua_api/l_env.cpp
@@ -757,7 +757,7 @@ int ModApiEnvMod::l_get_objects_in_area(lua_State *L)
{
GET_ENV_PTR;
ScriptApiBase *script = getScriptApiBase(L);
-
+
v3f minp = read_v3f(L, 1) * BS;
v3f maxp = read_v3f(L, 2) * BS;
aabb3f box(minp, maxp);
@@ -900,13 +900,13 @@ int ModApiEnvMod::l_find_nodes_near(lua_State *L)
if (Client *client = getClient(L))
radius = client->CSMClampRadius(pos, radius);
#endif
-
+
std::vector<u32> individual_count;
individual_count.resize(filter.size());
-
+
lua_newtable(L);
u32 i = 0;
-
+
for (int d = start_radius; d <= radius; d++) {
const std::vector<v3s16> &list = FacePositionCache::getFacePositions(d);
for (const v3s16 &posi : list) {
@@ -950,13 +950,13 @@ int ModApiEnvMod::l_find_nodes_near_under_air(lua_State *L)
if (Client *client = getClient(L))
radius = client->CSMClampRadius(pos, radius);
#endif
-
+
std::vector<u32> individual_count;
individual_count.resize(filter.size());
-
+
lua_newtable(L);
u32 i = 0;
-
+
for (int d = start_radius; d <= radius; d++) {
const std::vector<v3s16> &list = FacePositionCache::getFacePositions(d);
for (const v3s16 &posi : list) {
@@ -1004,13 +1004,13 @@ int ModApiEnvMod::l_find_nodes_near_under_air_except(lua_State *L)
if (Client *client = getClient(L))
radius = client->CSMClampRadius(pos, radius);
#endif
-
+
std::vector<u32> individual_count;
individual_count.resize(filter.size());
-
+
lua_newtable(L);
u32 i = 0;
-
+
for (int d = start_radius; d <= radius; d++) {
const std::vector<v3s16> &list = FacePositionCache::getFacePositions(d);
for (const v3s16 &posi : list) {
@@ -1457,7 +1457,7 @@ int ModApiEnvMod::l_find_path(lua_State *L)
if (algorithm == "Dijkstra")
algo = PA_DIJKSTRA;
}
-
+
std::vector<v3s16> path = get_path(&env->getMap(), env->getGameDef()->ndef(), pos1, pos2,
searchdistance, max_jump, max_drop, algo);
@@ -1564,7 +1564,7 @@ int ModApiEnvMod::l_compare_block_status(lua_State *L)
v3s16 nodepos = check_v3s16(L, 1);
std::string condition_s = luaL_checkstring(L, 2);
auto status = env->getBlockStatus(getNodeBlockPos(nodepos));
-
+
int condition_i = -1;
if (!string_to_enum(es_BlockStatusType, condition_i, condition_s))
return 0; // Unsupported
@@ -1664,6 +1664,7 @@ void ModApiEnvMod::InitializeClient(lua_State *L, int top)
API_FCT(find_nodes_near_under_air_except);
API_FCT(find_nodes_in_area);
API_FCT(find_nodes_in_area_under_air);
+ API_FCT(get_voxel_manip);
API_FCT(find_path);
API_FCT(line_of_sight);
API_FCT(raycast);
diff --git a/src/script/scripting_client.cpp b/src/script/scripting_client.cpp
index 7e92eb576..c30de9ee8 100644
--- a/src/script/scripting_client.cpp
+++ b/src/script/scripting_client.cpp
@@ -41,6 +41,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#include "lua_api/l_camera.h"
#include "lua_api/l_settings.h"
#include "lua_api/l_http.h"
+#include "lua_api/l_vmanip.h"
ClientScripting::ClientScripting(Client *client):
ScriptApiBase(ScriptingType::Client)
@@ -88,6 +89,7 @@ void ClientScripting::InitializeModApi(lua_State *L, int top)
LuaSettings::Register(L);
ClientObjectRef::Register(L);
LuaInventoryAction::Register(L);
+ LuaVoxelManip::Register(L);
ModApiItemMod::Initialize(L, top);
ModApiUtil::InitializeClient(L, top);