This is Blockcolor with Minetest Engine, you no need install minetest for play. For play Extract and open blockcolor.exe in bin You can use so setup for install easy, this is in release.
66 lines
1.6 KiB
Lua
66 lines
1.6 KiB
Lua
-- Minetest: builtin/client/chatcommands.lua
|
|
|
|
|
|
core.register_on_sending_chat_messages(function(message)
|
|
if message:sub(1,2) == ".." then
|
|
return false
|
|
end
|
|
|
|
local first_char = message:sub(1,1)
|
|
if first_char == "/" or first_char == "." then
|
|
core.display_chat_message(core.gettext("issued command: ") .. message)
|
|
end
|
|
|
|
if first_char ~= "." then
|
|
return false
|
|
end
|
|
|
|
local cmd, param = string.match(message, "^%.([^ ]+) *(.*)")
|
|
param = param or ""
|
|
|
|
if not cmd then
|
|
core.display_chat_message(core.gettext("-!- Empty command"))
|
|
return true
|
|
end
|
|
|
|
local cmd_def = core.registered_chatcommands[cmd]
|
|
if cmd_def then
|
|
core.set_last_run_mod(cmd_def.mod_origin)
|
|
local _, message = cmd_def.func(param)
|
|
if message then
|
|
core.display_chat_message(message)
|
|
end
|
|
else
|
|
core.display_chat_message(core.gettext("-!- Invalid command: ") .. cmd)
|
|
end
|
|
|
|
return true
|
|
end)
|
|
|
|
core.register_chatcommand("list_players", {
|
|
description = core.gettext("List online players"),
|
|
func = function(param)
|
|
local players = table.concat(core.get_player_names(), ", ")
|
|
core.display_chat_message(core.gettext("Online players: ") .. players)
|
|
end
|
|
})
|
|
|
|
core.register_chatcommand("disconnect", {
|
|
description = core.gettext("Exit to main menu"),
|
|
func = function(param)
|
|
core.disconnect()
|
|
end,
|
|
})
|
|
|
|
core.register_chatcommand("clear_chat_queue", {
|
|
description = core.gettext("Clear the out chat queue"),
|
|
func = function(param)
|
|
core.clear_out_chat_queue()
|
|
return true, core.gettext("The out chat queue is now empty")
|
|
end,
|
|
})
|
|
|
|
function core.run_server_chatcommand(cmd, param)
|
|
core.send_chat_message("/" .. cmd .. " " .. param)
|
|
end
|