1
0
mirror of https://github.com/Uberi/Minetest-WorldEdit.git synced 2025-06-28 06:12:00 +02:00

Make //lua work with expressions as well (#243)

This commit is contained in:
imre84
2024-04-20 20:00:41 +02:00
committed by GitHub
parent 41d53180b1
commit 883caff58d
4 changed files with 50 additions and 18 deletions

View File

@ -1555,16 +1555,27 @@ worldedit.register_command("lua", {
description = S("Executes <code> as a Lua chunk in the global namespace"),
privs = {worldedit=true, server=true},
parse = function(param)
if param == "" then
return false
end
return true, param
end,
func = function(name, param)
local err = worldedit.lua(param)
if err then
worldedit.player_notify(name, "code error: " .. err)
minetest.log("action", name.." tried to execute "..param)
-- shorthand like in the Lua interpreter
if param:sub(1, 1) == "=" then
param = "return " .. param:sub(2)
end
local err, ret = worldedit.lua(param, name)
if err == nil then
minetest.log("action", name .. " executed " .. param)
if ret ~= "nil" then
worldedit.player_notify(name, "code successfully executed, returned " .. ret)
else
worldedit.player_notify(name, "code successfully executed")
end
else
worldedit.player_notify(name, "code successfully executed", false)
minetest.log("action", name.." executed "..param)
minetest.log("action", name .. " tried to execute " .. param)
worldedit.player_notify(name, "code error: " .. err)
end
end,
})