Files
factorio-clusterio/modules/clusterio/impl.lua
T
Hornwitser 66aa7e1e43 Add clusterio module with API for lua code
Add a shared API for lua code through a module named clusterio.
2020-01-04 17:34:16 +01:00

53 lines
1.2 KiB
Lua

local api = require('modules/clusterio/api')
local impl = {}
local function init()
if not global.clusterio then
global.clusterio = {
instance_id = nil,
instance_name = nil,
}
end
end
-- Internal API
clusterio_private = {}
function clusterio_private.update_instance(new_id, new_name)
init()
global.clusterio.instance_id = new_id
global.clusterio.instance_name = new_name
script.raise_event(api.events.on_instance_updated, {
instance_id = new_id,
instance_name = new_name,
})
end
function impl.add_remote_interface()
remote.add_interface('clusterio_api', {
-- Returns a table of events raised by clusterio
get_events = function()
return api.events
end,
-- Returns the instance id the game is run under
-- This may change over time and/or be nil.
get_instance_id = function()
init()
return global.clusterio.instance_id
end,
-- Returns the name of the instance the game runs under.
-- This may change over time and/or be nil.
get_instance_name = function()
init()
return global.clusterio.instance_name
end,
})
end
return impl