-
Notifications
You must be signed in to change notification settings - Fork 5
Chat
Everything ServerTools does to your chat: formatting, cooldowns, emojis, per-player colors, tags, join messages, and custom death messages. Config lives under the Chat: section of config.yml (join MOTD is the one exception, it sits under Events:).
Needs: nothing for basic chat. Tags needs Vault + LuckPerms. Prefix/suffix and PlaceholderAPI in messages need Vault/LuckPerms + PlaceholderAPI.
Rewrites the whole chat line so every message follows your format.
- Config path:
Chat.ChatFormat - Default: on
- Format tokens:
{prefix},{name},{suffix},{message}
Chat:
ChatFormat:
Enabled: true
EnabledPAPIinMessages: true
ChatColorPerm: chatcolor.codes
PrefixOffset: 0
format: '{prefix}{name}{suffix} &7» &f{message}'Options:
-
ChatColorPerm(defaultchatcolor.codes): players with this perm (or OP) can use&color codes in their messages. Without it, the codes show up as plain text. -
EnabledPAPIinMessages: run PlaceholderAPI on what a player types. Only works if PAPI is installed, the message has a%in it, and the player has thechat.placeholder.messageperm. So grant that perm to whoever should get it. -
PrefixOffset: trims N characters off the end of the prefix (0= no trim). Handy if your prefix has trailing padding you don't want.
The {prefix} and {suffix} come from your permissions/chat plugin. If you run Vault + LuckPerms (or similar), whatever prefix/suffix you've set there shows up here. No such plugin? Those tokens just come out empty.
Stops a player from chatting again until the cooldown passes.
- Config path:
Chat.ChatCooldown - Default: on
- Command:
/chatcooldown(alias/cooldown) - Perms:
chatcooldown.bypass(skip the cooldown),chatcooldown.admin(use the command)
Chat:
ChatCooldown:
Enabled: true
BypassCooldown: chatcooldown.bypass
CommandPermission: chatcooldown.admin
SecondsCooldown: 5
Message: '&6&l[!] &eYou must wait &6&n%timeleft%s&e before you may chat again.'%timeleft% is the seconds remaining. /chatcooldown set <n> changes the seconds and saves it, /chatcooldown toggle turns it on or off.
Swaps shortcodes in chat for symbols. Type a shortcode, it turns into the symbol.
- Config path:
Chat.ChatEmoji - Default: on
- Permission: optional.
permission: ''(the default) means everyone gets it. Set a perm node and only players with it get the swaps.
Chat:
ChatEmoji:
Enabled: true
permission: ''
Emojis:
<3: ♡
:flip:: (╯°□°)╯︵ ┻━┻
:serious:: (ಠ_ಠ)Add whatever pairs you want under Emojis.
Per-player chat color through a GUI. A player picks a color once and all their future messages get tinted. There's also a Rainbow option that randomizes a color per character.
- Config path:
Chat.ChatColor - Default: on
- Command:
/chatcolor(alias/color) opens the GUI - Perms: each color needs
Chatcolor.<ColorName>(e.g.Chatcolor.Red,Chatcolor.Rainbow). Click a color you don't have the perm for and you get denied.
Colors in the GUI: White, Orange, Pink, Aqua, Yellow, Lime, Dark Gray, Gray, Cyan, Purple, Blue, Green, Red (plus Rainbow via the XP bottle). Rainbow pulls from your configurable list:
Chat:
ChatColor:
Enabled: true
RainbowColors:
- '&f'
- '&e'
- '&6'
- '&b'
- '&2'
- '&4'
- '&7'Color choices are saved, so they stick after a restart.
Same idea as ChatColor but it recolors the player's name instead of the message.
- Config path:
Chat.NameColor - Default: on
- Command:
/namecoloropens the GUI - Perms:
Namecolor.<ColorName>per color (e.g.Namecolor.Aqua)
Same color list as ChatColor, minus Rainbow. Name color choices aren't saved, so they reset when the server restarts.
A GUI and command for player chat tags. Picking a tag sets it as the player's chat suffix, so it shows up in ChatFormat's {suffix}. Players can pick from tags they have perms for, or set a custom text tag.
Needs Vault and LuckPerms. It grants tag permissions through LuckPerms when an admin gives someone a tag. Without both, this feature does nothing.
- Config path:
Chat.Tags - Default: off
- Command:
/tags(aliases/servertags,/ctag,/customtag) - Perms:
ctag.useto set a custom tag (CustomTagPerm);tools.givetagfor/tags give;tools.createtagfor/tags create. Equipping a predefined tag needsTags.<TagName>.
Chat:
Tags:
Enabled: false
CustomTagPerm: ctag.use
CustomMaxLength: 20
CustomTagFormat: '&8&l<%tag%&8&l>'
selected: '&e&l[!] &eYou have selected &r%tag% &eas your new tag!'
removed: '&c&l[!] &cYou have removed your &4current&c tag!'
giveTagCmd: lp user %name% permission set tags.%tag% true server=skyblock_emcSubcommands: /tags (open GUI), /tags set <tag>, /tags clear, /tags list, /tags give <player> <tag> (admin), /tags create <name> <tag> (admin). Predefined tags live in Tags.yml (auto-filled with defaults like Boss, OG, Twitch, YouTube on first run). The default giveTagCmd has server=skyblock_emc in it, change or drop that for your setup.
Wraps (or hides) vanilla death messages with your own format.
- Config path:
Chat.CustomDeathMessages - Default: on
- Command:
/toggledeathmessages(alias/toggledeath) turns death messages on or off in-game
Chat:
CustomDeathMessages:
Enabled: true
message: '&7&o[-] %message%'%message% is the original vanilla death message. If you toggle it off, death messages show nothing.
Sends a message block to players when they join. Lives under Events:, not Chat:.
- Config path:
Events.ChatJoinMOTD - Default: on
Events:
ChatJoinMOTD:
Enabled: true
MOTD:
- '&8&l>&7&m----&r %SERVERNAME% &7&m----&8&l<'
- '&2&l▎ &A&lSTORE &f%STORE%'
- '&7&o(( Currently &A&o%server_online% &7&oplayer(s) are playing ))'Two kinds of placeholders:
- ServerTools plugin variables like
%SERVERNAME%,%STORE%,%DISCORD%,%SERVER%. These come from the top-levelPluginVariables:config section and always work. - PlaceholderAPI placeholders like
%server_online%. These only work if PAPI is installed, otherwise they show up as plain text.
A line containing <center> gets centered, and %player% in it is replaced with the joining player's name.
Getting started
Features
- Core Features
- Chat
- World and Mob Protections
- Moderation
- Events, Cooldowns and Tasks
- Utilities and Misc
- Hopper Optimization