mirror of
https://github.com/clusterio/clusterio.git
synced 2026-11-11 23:04:52 +09:00
53 lines
1.2 KiB
Lua
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
|