Moved settings to a standalone file, ability to customize everything
parent
7d9652bdc6
commit
ddbb567b7a
12
README.md
12
README.md
|
@ -1,14 +1,14 @@
|
|||
# BetterPM
|
||||
|
||||
BetterPM is a minetest mod that improves private messages.
|
||||
BetterPM is a minetest mod that improves private messages. It is completely customizable but also ready to use.
|
||||
|
||||
## Config
|
||||
|
||||
- You can customize message text color by changing `msg_color` value, default is white.
|
||||
- You can customize prefix color by changing `prefix_color` value, default is white.
|
||||
- You can customize the prefix text and you can use placeholders (`{sender}` and `{target}`):
|
||||
- `senderPrefix` is the prefix that is shown to who sends the message.
|
||||
- `targetPrefix` is the prefix that is shown to who receives the message.
|
||||
All these values can be changed in the file `settings.lua`
|
||||
- `target` represents who receives the message, `sender` represents who sends the message.
|
||||
- You can customize message text color by changing `targetMsgColor` and `senderMsgColor`.
|
||||
- You can customize prefix color by changing `targetPrefixColor` and `senderPrefixColor`.
|
||||
- You can customize the prefix text by changing `targetPrefix` and `senderPrefix`. You can use `{target}` and `{sender}` placeholders to respectively represent the target and the sender names.
|
||||
|
||||
## Usage
|
||||
|
||||
|
|
29
init.lua
29
init.lua
|
@ -1,14 +1,11 @@
|
|||
local prefix_color = "#ffffff" -- use a color hex to change the color of private messages prefix
|
||||
local msg_color = "#ffffff" -- use a color hex to change the color of private messages
|
||||
|
||||
-- {target} is who receives the message, {sender} is who sends the message
|
||||
local senderPrefix = "[You -> {target}] " -- the sender will see this
|
||||
local targetPrefix = "[{sender} -> You] " -- the target will receive this
|
||||
|
||||
dofile(minetest.get_modpath("betterpm") .. "/chatcmdbuilder.lua")
|
||||
betterpm = {}
|
||||
|
||||
local modpath = minetest.get_modpath("betterpm")
|
||||
local reply_to = {}
|
||||
|
||||
dofile(modpath .. "/settings.lua")
|
||||
dofile(modpath .. "/chatcmdbuilder.lua")
|
||||
|
||||
local function formatPrefix(prefix, sender, target)
|
||||
local res, _ = prefix:gsub("{sender}", sender)
|
||||
res, _ = res:gsub("{target}", target)
|
||||
|
@ -19,8 +16,12 @@ end
|
|||
local function sendMessage(sender, target, message)
|
||||
reply_to[sender] = target
|
||||
reply_to[target] = sender
|
||||
minetest.chat_send_player(target, minetest.colorize(prefix_color, formatPrefix(targetPrefix, sender, target) .. minetest.colorize(msg_color, message)))
|
||||
minetest.chat_send_player(sender, minetest.colorize(prefix_color, formatPrefix(senderPrefix, sender, target) .. minetest.colorize(msg_color, message)))
|
||||
minetest.chat_send_player(target,
|
||||
minetest.colorize(betterpm.targetPrefixColor, formatPrefix(betterpm.targetPrefix, sender, target) ..
|
||||
minetest.colorize(betterpm.targetMsgColor, message)))
|
||||
minetest.chat_send_player(sender,
|
||||
minetest.colorize(betterpm.senderPrefixColor, formatPrefix(betterpm.senderPrefix, sender, target) ..
|
||||
minetest.colorize(betterpm.senderMsgColor, message)))
|
||||
end
|
||||
|
||||
ChatCmdBuilder.new("msg", function(cmd)
|
||||
|
@ -45,8 +46,12 @@ ChatCmdBuilder.new("r", function(cmd)
|
|||
cmd:sub(":message:text", function (sender, message)
|
||||
if reply_to[sender] ~= nil then
|
||||
reply_to[reply_to[sender]] = sender
|
||||
minetest.chat_send_player(reply_to[sender], minetest.colorize(prefix_color, formatPrefix(targetPrefix, sender, reply_to[sender]) .. minetest.colorize(msg_color, message)))
|
||||
minetest.chat_send_player(sender, minetest.colorize(prefix_color, formatPrefix(senderPrefix, sender, reply_to[sender]) .. minetest.colorize(msg_color, message)))
|
||||
minetest.chat_send_player(reply_to[sender],
|
||||
minetest.colorize(betterpm.targetPrefixColor, formatPrefix(betterpm.targetPrefix, sender, reply_to[sender]) ..
|
||||
minetest.colorize(betterpm.targetMsgColor, message)))
|
||||
minetest.chat_send_player(sender,
|
||||
minetest.colorize(betterpm.senderPrefixColor, formatPrefix(betterpm.senderPrefix, sender, reply_to[sender]) ..
|
||||
minetest.colorize(betterpm.senderMsgColor, message)))
|
||||
else
|
||||
minetest.chat_send_player(sender, "You must write to someone before replying. Use /msg <name> <message>")
|
||||
end
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
-- use hex codes for colors
|
||||
-- protip: if you want to use the same color in multiple places you could create
|
||||
-- a variable and do it like this:
|
||||
-- local myColor = "#a5cbf8"
|
||||
-- and then use it where you want this color like this:
|
||||
-- betterpm.senderPrefixColor = myColor
|
||||
-- you don't have to use "--" otherwise it will be a comment and won't work
|
||||
-- if you want a different color for everything you don't need to create variables, just put values
|
||||
local senderColor = "#d8dee9" -- nord4 from nordtheme.com
|
||||
local targetColor = "#ebcb8b" -- nord13 from nordtheme.com
|
||||
|
||||
betterpm.senderPrefixColor = senderColor
|
||||
betterpm.targetPrefixColor = targetColor
|
||||
|
||||
betterpm.senderMsgColor = senderColor
|
||||
betterpm.targetMsgColor = targetColor
|
||||
|
||||
-- {target} is who receives the message, {sender} is who sends the message
|
||||
betterpm.senderPrefix = "[You -> {target}] " -- the sender will see this
|
||||
betterpm.targetPrefix = "[{sender} -> You] " -- the target will receive this
|
Loading…
Reference in New Issue