quectocraft/src/plugins/init.lua

49 lines
1.5 KiB
Lua

server = { players = {} }
_qc = { responses = {} }
local function to_chat(message, default)
if message == nil then
if default ~= nil then
return default
else
error("message must be a string or table")
end
elseif type(message) == "table" then
return message
elseif type(message) == "string" then
return { text = message }
elseif default == nil then
error("message must be a string or table")
else
error("message must be a string, table, or nil for the default message")
end
end
function server.sendMessage(player, message)
if type(player) ~= "string" then
error("player must be a string")
end
local message = assert(to_chat(message))
table.insert(_qc.responses, {type = "message", player = player, message = message})
end
function server.broadcast(message)
local message = assert(to_chat(message))
table.insert(_qc.responses, { type = "broadcast", message = message })
end
function server.sendPluginMessage(player, channel, data)
if type(player) ~= "string" then
error("player must be a string")
end
if type(channel) ~= "string" then
error("channel must be a string")
end
table.insert(_qc.responses, {type = "plugin_message", player = player, channel = channel, data = data})
end
function server.disconnect(player, reason)
local reason = assert(to_chat(reason, { translate = "multiplayer.disconnect.generic" }))
table.insert(_qc.responses, { type = "disconnect", player = player, reason = reason })
end