-- Building tools minetest.register_chatcommand("replacenear", { privs = { creative = true }, func = function (name, param) local parts = param:split(" ") if #parts == 3 then local player = minetest.get_player_by_name(name) local pos = player:get_pos() local range = tonumber(parts[1]) or 5 local from = parts[2]:split(",") local to = parts[3] local replaced = 0 local function replace(p) for _, v in pairs(from) do local name = minetest.get_node(p).name local anyblock_match = (v == "anyblock" and name ~= "air" and name ~= "ignore") if name == v or v == "any" or anyblock_match then minetest.set_node(p, {name = to}) replaced = replaced + 1 end end end for dx = -range, range do for dz = -range, range do for dy = -range, range do local npos = {x = pos.x + dx, y = pos.y + dy, z = pos.z + dz} replace(npos) end end end return true, string.format("Replaced %d blocks", replaced) end return false, "Requires 3 arguments" end })