diff --git a/init.lua b/init.lua index fc6e144..ea42fa0 100644 --- a/init.lua +++ b/init.lua @@ -18,22 +18,18 @@ -- global mod namespace modular_computers = {} +modular_computers.internal = {} +modular_computers.mod = {} modular_computers.mod_storage = minetest.get_mod_storage() -modular_computers.mod = {} modular_computers.mod.name = minetest.get_current_modname() modular_computers.mod.path = minetest.get_modpath(modular_computers.mod.name) -modular_computers.registered_commands = {} - modular_computers.S = minetest.get_translator(modular_computers.mod.name) -- Load the scripts dofile(modular_computers.mod.path .. "/src/utilities.lua") -dofile(modular_computers.mod.path .. "/src/os/api/cli.lua") -dofile(modular_computers.mod.path .. "/src/os/bin/init.lua") +dofile(modular_computers.mod.path .. "/src/os/init.lua") dofile(modular_computers.mod.path .. "/src/nodes/init.lua") dofile(modular_computers.mod.path .. "/src/items/init.lua") -dofile(modular_computers.mod.path .. "/src/os/init.lua") - diff --git a/src/nodes/computer.lua b/src/nodes/computer.lua index 6941f3d..cf7a41f 100644 --- a/src/nodes/computer.lua +++ b/src/nodes/computer.lua @@ -74,7 +74,7 @@ minetest.register_on_player_receive_fields( -- Execute the command local args = string.split(command, "%s+", false, -1, true) - local def = modular_computers.registered_commands[args[1]] + local def = modular_computers.internal.command.registered_commands[args[1]] if def ~= nil then local stdin, stdout, stderr, exit_code = def.func(player,#args - 1,unpack(args,2)) if stderr ~= "" then diff --git a/src/os/api/cli.lua b/src/os/api/cli.lua index efbc2d2..6d33645 100644 --- a/src/os/api/cli.lua +++ b/src/os/api/cli.lua @@ -16,6 +16,13 @@ Copyright (c) 2023 James Clarke ]] -function modular_computers.register_command(name, def) - modular_computers.registered_commands[name] = def +modular_computers.command = {} +modular_computers.internal.command = {registered_commands = {}} + +function modular_computers.command.register(name, callback) + modular_computers.internal.command.registered_commands[name] = callback + + + + end diff --git a/src/os/bin/echo.lua b/src/os/bin/echo.lua index f964786..7b6a58b 100644 --- a/src/os/bin/echo.lua +++ b/src/os/bin/echo.lua @@ -16,7 +16,7 @@ Copyright (c) 2023 James Clarke ]] -modular_computers.register_command("echo", { +modular_computers.command.register("echo", { func = function(player, argc, ...) return "", table.concat({...}, " ") .. "\n", "", 0 end,