Plugin Release MiniMessageAnywhere - rich json messages anywhere!

Minecraft uses json-text with a lots of powerful capabilities for a long time. But there's a problem: Bukkit API is stuck on outdated legacy format. This plugin meant to avoid this limitation.


Plugin will work only on 1.16.5+ and only on Paper.

Features

  • Parse mini message anywhere! Chat, Titles, Scoreboard, Boss bars, Entities, Items and many more other places.
    Simply put [mm]<message>[/mm] in any plugin's config.
  • Global placeholders! You can define placeholders to use globally on the server.
  • Chat filtering to avoid json-text player abuse.
  • Configurable transformations.
How to use the plugin?
First, take a look at MiniMessage documentation:
[BUTTON=[URL]https://docs.adventure.kyori.net/minimessage.html#format]MiniMessage[/URL] docs[/BUTTON]
Usage is super simple! Just put the message you want in [mm][/mm] tags.
Example:
YAML:
text: '[mm]<red>Red text!</red>[/mm]'
name: '[mm]<gradient:blue:red>Gradient go brr</gradient>[/mm]'
How does this work?
Plugin handles messages at protocol level. Every packet that contains chat components is handled. Thats why plugin needs ProtocolLib.
Configuration
YAML:
 # What packets should we handle?
listenTo:
   # Should we handle bossbars?
  bossbar: true
   # Should we handle chat messages?
  chat: true
   # Should we handle entity nametags?
  entities: true
   # Should we handle inventory titles?
  inventory-titles: true
   # Should we handle items and books?
  items:
     # Disables italic in name and lore of the item.
    disable-italic: false
    enabled: true

   # Should we handle kick/disconnect messages?
  kick-disconnect: true
   # Shoudl we handle MoTD?
  motd: true
   # Should we handle player names?
  player-info: true
   # Should we handle scoreboard teams?
  scoreboard: true
   # Should we handle tab?
  tab: true
   # Should we handle titles? (/title)
  titles: true

 # The parsing strategy. Possible values: ALL, REGEX
 # ALL - All messages, without regex check are going to be handled.
 # REGEX - Only prefixed & suffixed messages will be handled.
 # For example: [mm]Hello <red> world[/mm] will work.
parsing-strategy: 'REGEX'
 # REGEX strategy options.
regex:
   # Prefix.
  prefix: '[mm]'
   # Suffix.
  suffix: '[/mm]'

 # Chat filter. Players without mmanywhere.ignore wouldnt be able to use minimessage.
filter-chat:
   # Should we filter items renamed in anvil?
  anvil: true
   # Should we filter books?
  books: true
   # Should we filter chat?
  chat: true

 # Should we parse messages using paper events? It is going to look fancy in console.
pretty-chat: true
minimessage-settings:
   # Global placeholders.
  placeholders:
    hello: '<red>world'

   # Allowed transformations. Possible values:
   # COLOR, DECORATION, HOVER_EVENT, CLICK_EVENT, KEYBIND
   # TRANSLATABLE, INSERTION, FONT, GRADIENT, RAINBOW.
   # if you want to include all transformations, just use *.
  transformations:
    - '*'

messages:
  info: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> v 2.0'
  no-permission: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> <#e60000>У вас нету права на это!'
  reloaded: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> Плагин успешно перезагружен!'
  unknown-command: '<gradient:#0073e6:#003cb3>MiniMessageAnywhere</gradient> <bold>|</bold> Неизвестная команда!'
Screenshots

1642447447949.png
1642447463439.png
1642447482348.png


Found a bug?
Please open issue on github:
https://github.com/gepron1x/minimessage-anywhere/issues
 
Last edited:
  • Love
  • Like
Reactions: 4drian3d and U9G