mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-01-20 03:29:47 +02:00
74 lines
1.9 KiB
Lua
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
|