mirror of
https://github.com/sbrl/Minetest-WorldEditAdditions.git
synced 2024-12-23 12:05:01 +00:00
Starbeamrainbowlabs
1677c68a7b
....there's a bug in run_command tho with respect to return value handling
58 lines
2.3 KiB
Lua
58 lines
2.3 KiB
Lua
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
|
|
})
|