Skip to content

Commit

Permalink
Allow the join/leave message to be overridden by mods.
Browse files Browse the repository at this point in the history
  • Loading branch information
red-001 authored and sfan5 committed Sep 11, 2017
1 parent bb22567 commit d10ccce
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 7 deletions.
22 changes: 15 additions & 7 deletions builtin/game/misc.lua
Original file line number Diff line number Diff line change
Expand Up @@ -42,22 +42,30 @@ end

local player_list = {}

core.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
player_list[player_name] = player
function core.send_join_message(player_name)
if not minetest.is_singleplayer() then
core.chat_send_all("*** " .. player_name .. " joined the game.")
end
end)
end

core.register_on_leaveplayer(function(player, timed_out)
local player_name = player:get_player_name()
player_list[player_name] = nil
function core.send_leave_message(player_name, timed_out)
local announcement = "*** " .. player_name .. " left the game."
if timed_out then
announcement = announcement .. " (timed out)"
end
core.chat_send_all(announcement)
end

core.register_on_joinplayer(function(player)
local player_name = player:get_player_name()
player_list[player_name] = player
core.send_join_message(player_name)
end)

core.register_on_leaveplayer(function(player, timed_out)
local player_name = player:get_player_name()
player_list[player_name] = nil
core.send_leave_message(player_name, timed_out)
end)

function core.get_connected_players()
Expand Down
4 changes: 4 additions & 0 deletions doc/lua_api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3071,6 +3071,10 @@ These functions return the leftover itemstack.
* Replaces definition of a builtin hud element
* `name`: `"breath"` or `"health"`
* `hud_definition`: definition to replace builtin definition
* `minetest.send_join_message(player_name)`
* Can be overridden by mods to change the join message
* `minetest.send_leave_message(player_name, timed_out)`
* Can be overridden by mods to change the leave message
* `minetest.hash_node_position({x=,y=,z=})`: returns an 48-bit integer
* Gives a unique hash number for a node position (16+16+16=48bit)
* `minetest.get_position_from_hash(hash)`: returns a position
Expand Down

0 comments on commit d10ccce

Please sign in to comment.