Replacement
Used to replace triggers with specific values







PacketEvents currently does not support the correct display of detailed item information on hover. The item will have an "empty" description without enchantments. To resolve this issue, you can enable use_paper_message_sender, but this is a workaround.








🌍Localization
Pathlocalizations → language.yml → message.format.replacement
replacement:
spoiler_symbol: "█"
values:
smile: "<click:suggest_command:\":)\"><hover:show_text:\":)\">☺</hover></click>"
big_smile: "<click:suggest_command:\":D\"><hover:show_text:\":D\">☻</hover></click>"
sad: "<click:suggest_command:\":(\"><hover:show_text:\":(\">☹</hover></click>"
ok_hand: "<click:suggest_command:\":ok:\"><hover:show_text:\":ok:\">🖒</hover></click>"
thumbs_up: "<click:suggest_command:\":+1:\"><hover:show_text:\":+1:\">🖒</hover></click>"
thumbs_down: "<click:suggest_command:\":-1:\"><hover:show_text:\":-1:\">🖓</hover></click>"
cool_smile: "<click:suggest_command:\":cool:\"><hover:show_text:\":cool:\">😎</hover></click>"
cool_glasses: "<click:suggest_command:\"B)\"><hover:show_text:\"B)\">😎</hover></click>"
clown: "<click:suggest_command:\":clown:\"><hover:show_text:\":clown:\">🤡</hover></click>"
heart: "<click:suggest_command:\"<3\"><hover:show_text:\"<3\">❤</hover></click>"
laughing: "<click:suggest_command:\"XD\"><hover:show_text:\"XD\">😆</hover></click>"
confused: "<click:suggest_command:\"%)\"><hover:show_text:\"%)\">😵</hover></click>"
happy: "<click:suggest_command:\"=D\"><hover:show_text:\"=D\">😃</hover></click>"
angry: "<click:suggest_command:\">:(\"><hover:show_text:\">:(\">😡</hover></click>"
ascii_idk: "<click:suggest_command:\":idk:\"><hover:show_text:\":idk:\">¯\\_(ツ)_/¯</hover></click>"
ascii_angry: "<click:suggest_command:\":angry:\"><hover:show_text:\":angry:\">(╯°□°)╯︵ ┻━┻</hover></click>"
ascii_happy: "<click:suggest_command:\":happy:\"><hover:show_text:\":happy:\">\(^O^)/</hover></click>"
ping: "<fcolor:2><value>"
tps: "<fcolor:2><value>"
online: "<fcolor:2><value>"
coords: "<fcolor:2><x> <y> <z>"
stats: "<color:#ff7171><hp>♥</color> <color:#3de0d8><armor>🛡 <color:#e33059><attack>🗡 <color:#4eff52><exp>⏺ <color:#f0a01f><food>🍖"
skin: "<click:open_url:\"<message_1>\"><hover:show_text:\"<fcolor:2><pixels>\"><fcolor:2><u>👨 Skin</u></hover></click>"
item: "<fcolor:2>[<message_1>]"
url: "<click:open_url:\"<message_1>\"><hover:show_text:\"<fcolor:2>Открыть ссылку <br><u><message_1>\"><fcolor:2><u>🗗 Ссылка</u></hover></click>"
image: "<click:open_url:\"<message_1>\"><hover:show_text:\"<fcolor:2><pixels>\"><fcolor:2><u>🖃 Image</u></hover></click>"
spoiler: "<hover:show_text:\"<fcolor:2><message_1>\"><fcolor:2><symbols></hover>"
bold: "<b><message_1></b>"
italic: "<i><message_1></i>"
underline: "<u><message_1></u>"
obfuscated: "<obf><message_1></obf>"
strikethrough: "<st><message_1></st>"replacement:
spoiler_symbol: "█"
values:
smile: "<click:suggest_command:\":)\"><hover:show_text:\":)\">☺</hover></click>"
big_smile: "<click:suggest_command:\":D\"><hover:show_text:\":D\">☻</hover></click>"
sad: "<click:suggest_command:\":(\"><hover:show_text:\":(\">☹</hover></click>"
ok_hand: "<click:suggest_command:\":ok:\"><hover:show_text:\":ok:\">🖒</hover></click>"
thumbs_up: "<click:suggest_command:\":+1:\"><hover:show_text:\":+1:\">🖒</hover></click>"
thumbs_down: "<click:suggest_command:\":-1:\"><hover:show_text:\":-1:\">🖓</hover></click>"
cool_smile: "<click:suggest_command:\":cool:\"><hover:show_text:\":cool:\">😎</hover></click>"
cool_glasses: "<click:suggest_command:\"B)\"><hover:show_text:\"B)\">😎</hover></click>"
clown: "<click:suggest_command:\":clown:\"><hover:show_text:\":clown:\">🤡</hover></click>"
heart: "<click:suggest_command:\"<3\"><hover:show_text:\"<3\">❤</hover></click>"
laughing: "<click:suggest_command:\"XD\"><hover:show_text:\"XD\">😆</hover></click>"
confused: "<click:suggest_command:\"%)\"><hover:show_text:\"%)\">😵</hover></click>"
happy: "<click:suggest_command:\"=D\"><hover:show_text:\"=D\">😃</hover></click>"
angry: "<click:suggest_command:\">:(\"><hover:show_text:\">:(\">😡</hover></click>"
ascii_idk: "<click:suggest_command:\":idk:\"><hover:show_text:\":idk:\">¯\\_(ツ)_/¯</hover></click>"
ascii_angry: "<click:suggest_command:\":angry:\"><hover:show_text:\":angry:\">(╯°□°)╯︵ ┻━┻</hover></click>"
ascii_happy: "<click:suggest_command:\":happy:\"><hover:show_text:\":happy:\">\(^O^)/</hover></click>"
ping: "<fcolor:2><value>"
tps: "<fcolor:2><value>"
online: "<fcolor:2><value>"
coords: "<fcolor:2><x> <y> <z>"
stats: "<color:#ff7171><hp>♥</color> <color:#3de0d8><armor>🛡 <color:#e33059><attack>🗡 <color:#4eff52><exp>⏺ <color:#f0a01f><food>🍖"
skin: "<click:open_url:\"<message_1>\"><hover:show_text:\"<fcolor:2><pixels>\"><fcolor:2><u>👨 Skin</u></hover></click>"
item: "<fcolor:2>[<message_1>]"
url: "<click:open_url:\"<message_1>\"><hover:show_text:\"<fcolor:2>Open url <br><u><message_1>\"><fcolor:2><u>🗗 Url</u></hover></click>"
image: "<click:open_url:\"<message_1>\"><hover:show_text:\"<fcolor:2><pixels>\"><fcolor:2><u>🖃 Image</u></hover></click>"
spoiler: "<hover:show_text:\"<fcolor:2><message_1>\"><fcolor:2><symbols></hover>"
bold: "<b><message_1></b>"
italic: "<i><message_1></i>"
underline: "<u><message_1></u>"
obfuscated: "<obf><message_1></obf>"
strikethrough: "<st><message_1></st>"spoiler_symbol
The symbol that will replace each letter of the words in a spoiler
values
A list of messages where the key is the name and the value is what will be shown instead of the trigger
⚙️Setting
Pathmessage.yml → format.replacement
replacement:
enable: true
triggers:
smile: "(?<!\\\\)(?<!\\S):-?\\)(?!\\S)"
big_smile: "(?<!\\\\)(?<!\\S):-?D(?!\\S)"
sad: "(?<!\\\\)(?<!\\S):-?\\((?!\\S)"
ok_hand: "(?<!\\\\)(?<!\\S)(?i):ok:(?!\\S)"
thumbs_up: "(?<!\\\\)(?<!\\S):\\+1:(?!\\S)"
thumbs_down: "(?<!\\\\)(?<!\\S):-1:(?!\\S)"
cool_smile: "(?<!\\\\)(?<!\\S)(?i):cool:(?!\\S)"
cool_glasses: "(?<!\\\\)(?<!\\S)B-?\\)(?!\\S)"
clown: "(?<!\\\\)(?<!\\S)(?i):clown:(?!\\S)"
heart: "(?<!\\\\)(?<!\\S)<3(?!\\S)"
laughing: "(?<!\\\\)(?<!\\S)(?i)xd(?!\\S)"
confused: "(?<!\\\\)(?<!\\S)%-?\\)(?!\\S)"
happy: "(?<!\\\\)(?<!\\S)=D(?!\\S)"
angry: "(?<!\\\\)(?<!\\S)>:-?\\((?!\\S)"
ascii_idk: "(?<!\\\\)(?<!\\S)(?i):idk:(?!\\S)"
ascii_angry: "(?<!\\\\)(?<!\\S)(?i):angry:(?!\\S)"
ascii_happy: "(?<!\\\\)(?<!\\S)(?i):happy:(?!\\S)"
ping: "(?<!\\\\)(?<!\\S)%ping%(?!\\S)"
tps: "(?<!\\\\)(?<!\\S)%tps%(?!\\S)"
online: "(?<!\\\\)(?<!\\S)%online%(?!\\S)"
coords: "(?<!\\\\)(?<!\\S)%coords%(?!\\S)"
stats: "(?<!\\\\)(?<!\\S)%stats%(?!\\S)"
skin: "(?<!\\\\)(?<!\\S)%skin%(?!\\S)"
item: "(?<!\\\\)(?<!\\S)%item%(?!\\S)"
image: "(?<!\\\\{2,})(?<=\\s|^)((?:https?|HTTPS?)://(?:[a-zA-Z0-9-]{1,63}\\.)*(?:imgur\\.com|discordapp\\.net|cdn\\.discordapp\\.com)/[\\w\\-./?=&%]*\\.(?:jpg|jpeg|png|gif|webp|bmp))(?!\\S)"
url: "(?<!\\\\{2,})(?<=\\s|^)((?:https?|ftp|HTTPS?)://(?:[\\p{L}a-zA-Z0-9-]{1,63}\\.)+[\\p{L}a-zA-Z]{2,6}(?::\\d{1,5})?(?:/[\\w\\-./?=&%]*)?)(?!\\S)"
spoiler: "(?<!\\S)\\|\\|([^\\|\\|\\n]+)\\|\\|(?!\\S)"
bold: "(?<!\\S)\\*\\*([^\\*\\*\\n]+)\\*\\*(?!\\S)"
italic: "(?<!\\S)\\*([^\\*\\n]+)\\*(?!\\S)"
underline: "(?<!\\S)__([^__\\n]+)__(?!\\S)"
obfuscated: "(?<!\\S)\\?\\?([^\\?\\?\\n]+)\\?\\?(?!\\S)"
strikethrough: "(?<!\\S)~~([^~~\\n]+)~~(?!\\S)"enable
Enables or disables the functionality of the module
triggers
A list of all available triggers, where the key is the name and the value is the trigger itself in regular expression format
If you add a new trigger, you must also add it to the localization file to define what it will be replaced with.
🔐Permissions
Pathpermission.yml → message.format.replacement
replacement:
name: "flectonepulse.module.message.format.replacement"
type: "TRUE"
values:
smile:
name: "flectonepulse.module.message.format.replacement.smile"
type: "TRUE"
big_smile:
name: "flectonepulse.module.message.format.replacement.big_smile"
type: "TRUE"
sad:
name: "flectonepulse.module.message.format.replacement.sad"
type: "TRUE"
ok_hand:
name: "flectonepulse.module.message.format.replacement.ok_hand"
type: "TRUE"
thumbs_up:
name: "flectonepulse.module.message.format.replacement.thumbs_up"
type: "TRUE"
thumbs_down:
name: "flectonepulse.module.message.format.replacement.thumbs_down"
type: "TRUE"
cool_smile:
name: "flectonepulse.module.message.format.replacement.cool_smile"
type: "TRUE"
cool_glasses:
name: "flectonepulse.module.message.format.replacement.cool_glasses"
type: "TRUE"
clown:
name: "flectonepulse.module.message.format.replacement.clown"
type: "TRUE"
heart:
name: "flectonepulse.module.message.format.replacement.heart"
type: "TRUE"
laughing:
name: "flectonepulse.module.message.format.replacement.laughing"
type: "TRUE"
confused:
name: "flectonepulse.module.message.format.replacement.confused"
type: "TRUE"
happy:
name: "flectonepulse.module.message.format.replacement.happy"
type: "TRUE"
angry:
name: "flectonepulse.module.message.format.replacement.angry"
type: "TRUE"
ascii_idk:
name: "flectonepulse.module.message.format.replacement.ascii_idk"
type: "TRUE"
ascii_angry:
name: "flectonepulse.module.message.format.replacement.ascii_angry"
type: "TRUE"
ascii_happy:
name: "flectonepulse.module.message.format.replacement.ascii_happy"
type: "TRUE"
ping:
name: "flectonepulse.module.message.format.replacement.ping"
type: "TRUE"
tps:
name: "flectonepulse.module.message.format.replacement.tps"
type: "TRUE"
online:
name: "flectonepulse.module.message.format.replacement.online"
type: "TRUE"
coords:
name: "flectonepulse.module.message.format.replacement.coords"
type: "TRUE"
stats:
name: "flectonepulse.module.message.format.replacement.stats"
type: "TRUE"
skin:
name: "flectonepulse.module.message.format.replacement.skin"
type: "TRUE"
item:
name: "flectonepulse.module.message.format.replacement.item"
type: "TRUE"
url:
name: "flectonepulse.module.message.format.replacement.url"
type: "TRUE"
image:
name: "flectonepulse.module.message.format.replacement.image"
type: "TRUE"
spoiler:
name: "flectonepulse.module.message.format.replacement.spoiler"
type: "TRUE"
bold:
name: "flectonepulse.module.message.format.replacement.bold"
type: "TRUE"
italic:
name: "flectonepulse.module.message.format.replacement.italic"
type: "TRUE"
underline:
name: "flectonepulse.module.message.format.replacement.underline"
type: "TRUE"
obfuscated:
name: "flectonepulse.module.message.format.replacement.obfuscated"
type: "TRUE"
strikethrough:
name: "flectonepulse.module.message.format.replacement.strikethrough"
type: "TRUE"name
Permission name
type
Permission type
| Type | Explanation |
|---|---|
TRUE | Available to any player |
FALSE | Available to no one, must be granted separately (e.g., using LuckPerms) |
OP | Available to server operators |
NOT_OP | Available to NON-operators of the server |
Last updated on
Edit on GitHub
FlectonePulse