Flectone Logo FlectonePulse

Replacement

Used to replace triggers with specific values

ping

tps

online

coords

stats

skin

item

Warning

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.

url

image

spoiler

bold

italic

underline

obfuscated

strikethrough

🌍Localization

Path localizations → 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

Path message.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

Warning

If you add a new trigger, you must also add it to the localization file to define what it will be replaced with.

🔐Permissions

Path permission.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

TypeExplanation
TRUEAvailable to any player
FALSEAvailable to no one, must be granted separately (e.g., using LuckPerms)
OPAvailable to server operators
NOT_OPAvailable to NON-operators of the server

Last updated on

Edit on GitHub

On this page

Authors of page