1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-01-20 03:29:47 +02:00
ComfyFactorio/utils/debug/command.lua
2024-06-04 23:27:12 +02:00

74 lines
1.9 KiB
Lua

local DebugView = require 'utils.debug.main_view'
local Commands = require 'utils.commands'
local Gui = require 'utils.gui'
Commands.new('debug', 'Usable only for admins - opens the debugger!')
:require_admin()
:callback(
function (player)
local screen = player.gui.screen
local frame = screen[DebugView.main_frame_name]
if frame and frame.valid then
Gui.destroy(frame)
end
DebugView.open_debug(player)
end
)
if _DEBUG then
local Model = require 'model'
local loadstring = loadstring
local pcall = pcall
local dump = Model.dump
local log = log
Commands.new('dump-log', 'Dumps value to log')
:require_admin()
:add_parameter('value', false, 'string')
:callback(
function (player, value)
local func, err = loadstring('return ' .. value)
if not func then
player.print(err)
return false
end
local suc, v = pcall(func)
if not suc then
player.print(v)
return false
end
log(dump(v))
end
)
Commands.new('dump-file', 'Dumps value to dump.lua')
:require_admin()
:add_parameter('value', false, 'string')
:callback(
function (player, value)
local func, err = loadstring('return ' .. value)
if not func then
player.print(err)
return false
end
local suc, v = pcall(func)
if not suc then
player.print(v)
return false
end
v = dump(v)
game.write_file('dump.lua', v, false)
end
)
end