diff --git a/README.md b/README.md index 998706b..8f8a9b1 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,7 @@ See the "LICENSE" file * imre84 (UI fixes) * Chache (Spanish translation) * APercy (Brazilian Portuguese translation) +* bennstir (mail_notif.ogg - https://freesound.org/people/bennstir/sounds/81072/) # Contribute diff --git a/api.lua b/api.lua index ddeb6a4..03414c4 100644 --- a/api.lua +++ b/api.lua @@ -106,6 +106,9 @@ function mail.send(m) minetest.chat_send_player(name, unified_inventory_alert) end end + if mail.get_setting(name, "sound_notifications") == true then + minetest.sound_play("mail_notif", {to_player=name}) + end local receiver_entry = mail.get_storage_entry(name) local receiver_messages = receiver_entry.inbox mail.hud_update(name, receiver_messages) diff --git a/init.lua b/init.lua index 2ab110d..6ba200e 100644 --- a/init.lua +++ b/init.lua @@ -30,6 +30,7 @@ mail = { chat_notifications = {}, onjoin_notifications = {}, hud_notifications = {}, + sound_notifications = {}, unreadcolorenable = {}, cccolorenable = {} }, diff --git a/sounds/mail_notif.ogg b/sounds/mail_notif.ogg new file mode 100644 index 0000000..2c9d7ef Binary files /dev/null and b/sounds/mail_notif.ogg differ diff --git a/storage.lua b/storage.lua index 217d502..889e083 100644 --- a/storage.lua +++ b/storage.lua @@ -263,6 +263,7 @@ function mail.get_setting_default_value(setting_name) chat_notifications = true, onjoin_notifications = true, hud_notifications = true, + sound_notifications = true, unreadcolorenable = true, cccolorenable = true, defaultsortfield = 3, diff --git a/ui/about.lua b/ui/about.lua index 16bf965..31a2a22 100644 --- a/ui/about.lua +++ b/ui/about.lua @@ -37,7 +37,8 @@ function mail.show_about(name) [[#FFF,NatureFreshMilk,Maintenance,]] .. [[#FFF,imre84,UI fixes,]] .. [[#FFF,Chache,Spanish translation,]] .. - [[#FFF,APercy,Brazilian Portuguese trans.] + [[#FFF,APercy,Brazilian Portuguese trans.,]] .. + [[#FFF,bennstir,mail_notif.ogg] ]] .. mail.theme minetest.show_formspec(name, FORMNAME, formspec) diff --git a/ui/settings.lua b/ui/settings.lua index 557de3d..0bca7a6 100644 --- a/ui/settings.lua +++ b/ui/settings.lua @@ -17,6 +17,8 @@ function mail.show_settings(name) tostring(mail.get_setting(name, "onjoin_notifications")) .. [[] checkbox[0,2.0;hud_notifications;]] .. S("HUD notifications") .. [[;]] .. tostring(mail.get_setting(name, "hud_notifications")) .. [[] + checkbox[0,2.4;sound_notifications;]] .. S("Sound notifications") .. [[;]] .. + tostring(mail.get_setting(name, "sound_notifications")) .. [[] box[5,0.8;3,0.45;#466432] label[5.2,0.8;]] .. S("Message list") .. [[] @@ -68,6 +70,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) elseif fields.hud_notifications then mail.selected_idxs.hud_notifications[playername] = fields.hud_notifications == "true" + elseif fields.sound_notifications then + mail.selected_idxs.sound_notifications[playername] = fields.sound_notifications == "true" + elseif fields.unreadcolorenable then mail.selected_idxs.unreadcolorenable[playername] = fields.unreadcolorenable == "true" @@ -79,6 +84,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) mail.set_setting(playername, "chat_notifications", mail.selected_idxs.chat_notifications[playername]) mail.set_setting(playername, "onjoin_notifications", mail.selected_idxs.onjoin_notifications[playername]) mail.set_setting(playername, "hud_notifications", mail.selected_idxs.hud_notifications[playername]) + mail.set_setting(playername, "sound_notifications", mail.selected_idxs.sound_notifications[playername]) mail.set_setting(playername, "unreadcolorenable", mail.selected_idxs.unreadcolorenable[playername]) mail.set_setting(playername, "cccolorenable", mail.selected_idxs.cccolorenable[playername]) -- dropdowns