diff --git a/res/scripts/stdcmd.lua b/res/scripts/stdcmd.lua new file mode 100644 index 00000000..7ab5ac0a --- /dev/null +++ b/res/scripts/stdcmd.lua @@ -0,0 +1,33 @@ +console.add_command( + "tp obj:sel=$obj.id x:num~pos.x y:num~pos.y z:num~pos.z", + function (args, kwargs) + player.set_pos(unpack(args)) + end +) +console.add_command( + "echo value:str", + function (args, kwargs) + return args[1] + end +) +console.add_command( + "time.set value:num", + function (args, kwargs) + return world.set_day_time(args[1]) + end +) +console.add_command( + "fill id:str x:num~pos.x y:num~pos.y z:num~pos.z w:int h:int d:int", + function (args, kwargs) + local name, x, y, z, w, h, d = unpack(args) + local id = block.index(name) + for ly=0,h-1 do + for lz=0,d-1 do + for lx=0,w-1 do + block.set(x+lx, y+ly, z+lz, id) + end + end + end + return tostring(w*h*d).." blocks set" + end +) diff --git a/res/scripts/stdlib.lua b/res/scripts/stdlib.lua index 04992148..877d38a4 100644 --- a/res/scripts/stdlib.lua +++ b/res/scripts/stdlib.lua @@ -285,40 +285,6 @@ function file.readlines(path) return lines end -console.add_command( - "tp obj:sel=$obj.id x:num~pos.x y:num~pos.y z:num~pos.z", - function (args, kwargs) - player.set_pos(unpack(args)) - end -) -console.add_command( - "echo value:str", - function (args, kwargs) - return args[1] - end -) -console.add_command( - "time.set value:num", - function (args, kwargs) - return world.set_day_time(args[1]) - end -) -console.add_command( - "fill id:str x:num~pos.x y:num~pos.y z:num~pos.z w:int h:int d:int", - function (args, kwargs) - local name, x, y, z, w, h, d = unpack(args) - local id = block.index(name) - for ly=0,h-1 do - for lz=0,d-1 do - for lx=0,w-1 do - block.set(x+lx, y+ly, z+lz, id) - end - end - end - return tostring(w*h*d).." blocks set" - end -) - -- Deprecated functions block_index = block.index block_name = block.name diff --git a/src/logic/scripting/scripting.cpp b/src/logic/scripting/scripting.cpp index 2e025dc4..8005f7ce 100644 --- a/src/logic/scripting/scripting.cpp +++ b/src/logic/scripting/scripting.cpp @@ -51,6 +51,7 @@ void scripting::initialize(Engine* engine) { state = new lua::LuaState(); load_script(fs::path("stdlib.lua")); + load_script(fs::path("stdcmd.lua")); } scriptenv scripting::get_root_environment() {