diff --git a/config/_file_loader.lua b/config/_file_loader.lua index c2a79ccf..8e9de264 100644 --- a/config/_file_loader.lua +++ b/config/_file_loader.lua @@ -32,8 +32,6 @@ return { 'modules.commands.quickbar', --- Addons - 'modules.addons.station-auto-name', - 'modules.addons.greetings', 'modules.addons.chat-popups', 'modules.addons.damage-popups', 'modules.addons.death-logger', @@ -42,11 +40,15 @@ return { 'modules.addons.compilatron', 'modules.addons.scorched-earth', 'modules.addons.pollution-grading', - 'modules.addons.player-colours', + 'modules.addons.station-auto-name', 'modules.addons.discord-alerts', 'modules.addons.chat-reply', 'modules.addons.tree-decon', + --- Data + 'modules.data.player-colours', + 'modules.data.greetings', + --- GUI 'modules.gui.readme', 'modules.gui.rocket-info', diff --git a/locale/en/addons.cfg b/locale/en/addons.cfg index 4cb4c837..ed0d9123 100644 --- a/locale/en/addons.cfg +++ b/locale/en/addons.cfg @@ -77,7 +77,4 @@ get-mead-1= Filling the drinking horn get-mead-2= Skål! get-beer-1= 🍺 Pouring A Glass 🍺 get-beer-2= 🍻 Chears Mate 🍻 -verify=Please return to our discord and type r!verify __1__ - -[greetings] -greet=[color=0,1,0] Welcome to explosive gaming community server! If you like the server join our discord: __1__ [/color] \ No newline at end of file +verify=Please return to our discord and type r!verify __1__ \ No newline at end of file diff --git a/locale/en/commands.cfg b/locale/en/commands.cfg index 081b8f36..f4555dec 100644 --- a/locale/en/commands.cfg +++ b/locale/en/commands.cfg @@ -75,4 +75,8 @@ return-set=Your return point has been set to x: __1__ y: __2__ home-get=Your home point is at x: __1__ y: __2__ [expcom-server-ups] -no-ext=No external source was found, cannot display server ups. \ No newline at end of file +no-ext=No external source was found, cannot display server ups. + +[expcom-join-message] +greet=[color=0,1,0] Welcome to explosive gaming community server! If you like the server join our discord: __1__ [/color] +message-set=Your join message has been updated. \ No newline at end of file diff --git a/modules/addons/greetings.lua b/modules/addons/greetings.lua deleted file mode 100644 index 093cf1b5..00000000 --- a/modules/addons/greetings.lua +++ /dev/null @@ -1,26 +0,0 @@ ---- Greets players on join --- @addon greetings - -local Event = require 'utils.event' --- @dep utils.event -local Game = require 'utils.game' --- @dep utils.event -local config = require 'config.join_messages' --- @dep config.join_messages -local Global = require 'utils.global' --- @dep utils.global -require 'overrides.table' - -Global.register(config, function(tbl) - config = tbl -end) - -local greet = -function(event) - local player = Game.get_player_by_index(event.player_index) - local custom_message = config[player.name] - if custom_message then - game.print(custom_message, player.color) - else - player.print{'greetings.greet', {'links.discord'}} - end - -end - -Event.add(defines.events.on_player_joined_game, greet) \ No newline at end of file diff --git a/modules/data/greetings.lua b/modules/data/greetings.lua new file mode 100644 index 00000000..45d487f7 --- /dev/null +++ b/modules/data/greetings.lua @@ -0,0 +1,32 @@ +--- Greets players on join +-- @addon greetings + +local Commands = require 'expcore.commands' ---@dep expcore.commands +local config = require 'config.join_messages' --- @dep config.join_messages + +--- Stores the join message that the player have +local PlayerData = require 'expcore.player_data' --- @dep expcore.player_data +local CustomMessages = PlayerData.Settings:combine('JoinMessage') + +--- When a players data loads show their message +CustomMessages:on_load(function(player_name, player_message) + local player = game.players[player_name] + local custom_message = player_message or config[player_name] + if custom_message then + game.print(custom_message, player.color) + else + player.print{'expcom-join-message.greet', {'links.discord'}} + end +end) + +--- Set your custom join message +-- @command join-message +-- @tparam string message The custom join message that will be used +Commands.new_command('join-message', 'Sets your custom join message') +:add_param('message', false) +:enable_auto_concat() +:register(function(player, message) + if not player then return end + CustomMessages:set(player, message) + return {'expcom-join-message.message-set'} +end) \ No newline at end of file diff --git a/modules/addons/player-colours.lua b/modules/data/player-colours.lua similarity index 100% rename from modules/addons/player-colours.lua rename to modules/data/player-colours.lua