local wea = worldeditadditions local wea_c = worldeditadditions_core -- ███████ ██████ ██ ██ ██ ██████ ████████ ██ ██ ███████ ████████ -- ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ -- ███████ ██ ██ ██ ██ ██████ ██ ██ ██ ███████ ██ -- ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ -- ███████ ██████ ██████ ███████ ██ ██ ███████ ██ ███████ ██ minetest.register_chatcommand("/sculptlist", { params = "[preview]", description = "Lists all the currently registered sculpting brushes and their associated metadata. If the keyword preview is specified as an argument, a preview of each brush is also printed.", privs = { worldedit = true }, func = function(name, params_text) if name == nil then return end if not params_text then params_text = "" end params_text = wea_c.trim(params_text) local msg = {} table.insert(msg, "Currently registered sculpting brushes:\n") if params_text == "preview" then for brush_name, brush_def in pairs(wea.sculpt.brushes) do local success, preview = wea.sculpt.preview_brush(brush_name) local brush_size = "dynamic" if type(brush_def) ~= "function" then brush_size = brush_def.size.x.."x"..brush_def.size.y end print("//sculptlist: preview for "..brush_name..":") print(preview) table.insert(msg, brush_name.." ["..brush_size.."]:\n") table.insert(msg, preview.."\n\n") end else local display = { { "Name", "Native Size" } } for brush_name, brush_def in pairs(wea.sculpt.brushes) do local brush_size = "dynamic" if type(brush_def) ~= "function" then brush_size = brush_def.size end table.insert(display, { brush_name, brush_size }) end -- Sort by brush name table.sort(display, function(a, b) return a[1] < b[1] end) table.insert(msg, wea_c.format.make_ascii_table(display)) end wea_c.notify.info(name, table.concat(msg)) end })