diff --git a/worldeditadditions/ellipsoid.lua b/worldeditadditions/ellipsoid.lua index a604006..91695ff 100644 --- a/worldeditadditions/ellipsoid.lua +++ b/worldeditadditions/ellipsoid.lua @@ -7,16 +7,18 @@ function worldedit.ellipsoid(position, radius, target_node) -- Fetch the nodes in the specified area -- OPTIMIZE: We should be able to calculate a more efficient box-area here - local manip, area = worldedit.manip_helpers.init_radius(pos1, math.max(radius.x, radius.y, radius.z)) + local manip, area = worldedit.manip_helpers.init_radius(position, math.max(radius.x, radius.y, radius.z)) local data = manip:get_data() local node_id = minetest.get_content_id(target_node) local node_id_air = minetest.get_content_id("air") - local offset_x, offset_y, offset_z = pos.x - area.MinEdge.x, pos.y - area.MinEdge.y + local offset_x, offset_y, offset_z = position.x - area.MinEdge.x, position.y - area.MinEdge.y local stride_z, stride_y = area.zstride, area.ystride - local idx_z_base = pos.z - area.MinEdge.z -- initial z offset + local count = 0 -- The number of nodes replaced + + local idx_z_base = position.z - area.MinEdge.z -- initial z offset for z = -radius.z, radius.z do local idx_y_base = idx_z_base @@ -30,6 +32,7 @@ function worldedit.ellipsoid(position, radius, target_node) math.abs(y - position.y) < radius.y and math.ans(z - position.x) < radius.x then data[i] = node_id + count = count + 1 end @@ -46,5 +49,5 @@ function worldedit.ellipsoid(position, radius, target_node) -- Save the modified nodes back to disk & return worldedit.manip_helpers.finish(manip, data) - return changes + return count end diff --git a/worldeditadditions/init.lua b/worldeditadditions/init.lua index f4d66f1..035ee02 100644 --- a/worldeditadditions/init.lua +++ b/worldeditadditions/init.lua @@ -10,3 +10,4 @@ worldeditadditions = {} dofile(minetest.get_modpath("worldeditadditions") .. "/utils.lua") dofile(minetest.get_modpath("worldeditadditions") .. "/floodfill.lua") dofile(minetest.get_modpath("worldeditadditions") .. "/overlay.lua") +dofile(minetest.get_modpath("worldeditadditions") .. "/ellipsoid.lua")