Note: Looking for addons? See the full EssentialsX collection on Modrinth!
🎉 EssentialsX 2.21.2 is here, bringing with it 1.21.8 support, support for content from Chase the Skies, and a handful of bug fixes.
Thanks to everyone who has contributed code to this release (many of whom are listed at the bottom of this release), as well as to everyone who has contributed to translations on Crowdin!
In addition, a massive thanks to our community members who have assisted countless people with using EssentialsX across GitHub and MOSS, including @Evidentsinger14, @JasonHorkles, @ImDarkLaw, @Chew and many others.
The EssentialsX project is powered by the community. If you want to help us out, you can contribute by;
Finally, a shoutout to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
Your support helps us to continue spending hours of our free time working on and improving EssentialsX for everyone. If you've got any spare change, you can click one of the buttons below to support the EssentialsX project with a one-off or monthly pledge:
EssentialsX officially supports the Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
1.21.8 - EssentialsX actively develops for and supports this version.1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, and 1.20.6 - these versions are still supported, but are not a priority for us, and may be dropped in a future release.We recommend using the latest version of Paper. EssentialsX includes significant improvements that require Paper, including:
/anvil, /grindstone, /cartographytable, /loom, /smithingtable, and /stonecutter are only supported on Paper./recipe on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.EssentialsX does not support the following Minecraft versions or server software:
1.7.10 or below.If you're upgrading from 2.21.1, you can keep your current EssentialsX config file. There are no new changes to configuration files in this release.
Upgrading from 2.21.0 or older versions of EssentialsX? See the previous update changelogs.
On CraftBukkit and Spigot, anchor charges will deplete regardless of the respawn-at-anchor due to an unfixed bug in CraftBukkit. This bug has been patched in Paper.
On Spigot 1.17.1 and greater, player's fly mode will be reset regardless of the world-change-fly-reset setting due to behavior change in vanilla. A fix for this is in place for Paper servers. (#6012)
EssentialsX now officially supports Paper 1.21.8.
/tpr command now sends a message before the teleport commences. (#6205)/tpr command no longer allows players to bypass max and minimum range. (#6205)/tpr command works again on legacy versions. (#6212)max-nickname-length setting when ignore-colors-in-max-nick-length is enabled. (#6185)/skull command now works on 1.20.4 and above. (#6188)/whois command is now less misleading. (#6187)/editsign paste command no longer erroneously informs the player that the paste was successful. (#6136)/clear is enabled, the command passed to the confirmClear message no longer has a trailing space. (#6213)per-player-locale setting. (#6227)show-avatar: true. (#6239)The following bugs from 2.21.2 development builds have been fixed:
player-commands feature now works again. (#6214)For a full commit log, click here.
Note: Looking for addons? See the full EssentialsX collection on Modrinth!
🎉 EssentialsX 2.21.1 is here, bringing with it 1.21.5 support and several bug fixes.
Thanks to everyone who has contributed code to this release (many of whom are listed at the bottom of this release), as well as to everyone who has contributed to translations on Crowdin!
In addition, a massive thanks to our community members who have assisted countless people with using EssentialsX across GitHub and MOSS, including @Evidentsinger14, @JasonHorkles, @ImDarkLaw, @Chew and many others.
The EssentialsX project is powered by the community. If you want to help us out, you can contribute by;
Finally, a shoutout to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
Your support helps us to continue spending hours of our free time working on and improving EssentialsX for everyone. If you've got any spare change, you can click one of the buttons below to support the EssentialsX project with a one-off or monthly pledge:
EssentialsX officially supports the Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
1.21.5 - EssentialsX actively develops for and supports this version.1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, and 1.20.6 - these versions are still supported, but are not a priority for us, and may be dropped in a future release.We recommend using the latest version of Paper. EssentialsX includes significant improvements that require Paper, including:
/anvil, /grindstone, /cartographytable, /loom, /smithingtable, and /stonecutter are only supported on Paper./recipe on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.EssentialsX does not support the following Minecraft versions or server software:
1.7.10 or below.If you're upgrading from 2.21.0, you can keep your current EssentialsX config file. However, 2.21.1 adds new options that you may want to configure, and reorganises the config file with improved comments for clarity. You can add these options to the existing config files, or rename your current config files in order to generate a fresh one.
Upgrading from 2.20.0 or older versions of EssentialsX? See the previous update changelogs.
On CraftBukkit and Spigot, anchor charges will deplete regardless of the respawn-at-anchor due to an unfixed bug in CraftBukkit. This bug has been patched in Paper.
On Spigot 1.17.1 and greater, player's fly mode will be reset regardless of the world-change-fly-reset setting due to behavior change in vanilla. A fix for this is in place for Paper servers. (#6012)
EssentialsX now officially supports Paper and Spigot 1.21.5.
allowed-nicks-regex setting (#5200)You can now change the regex pattern which determines which nicknames are allowed. The essentials.nick.allowunsafe permission
can still be used to bypass this check.
# The regex pattern used to determine if a requested nickname should be allowed for use.
# If the a request nickname does not matched this pattern, the nickname will be rejected.
# Users with essentials.nick.allowunsafe will be able to bypass this check.
allowed-nicks-regex: '^[a-zA-Z_0-9§]+$'
private-chat message type (#5620)You can now relay SocialSpy messages to Discord using the new private-chat message type.
This is sent whenever a user sends a private message on the Minecraft server, unless they also have the essentials.chat.spy.exempt permission.
# Configure which Discord channels different messages will be sent to.
# You can either use the names of the channels listed above or just the id of a channel.
# If an invalid channel is used, the primary channel will be used instead.
#
# To disable a message from showing, use 'none' as the channel name.
message-types:
...
# Message sent when a private message (/msg, /whisper, etc.) is sent on the Minecraft Server.
private-chat: none
# The following entries allow you to customize the formatting of messages sent by the plugin.
# Each message has a description of how it is used along with placeholders that can be used.
messages:
...
# This is the message that is used to relay minecraft private messages in Discord.
# The following placeholders can be used here:
# - {sender-username}: The username of the player sending the message
# - {sender-displayname}: The display name of the player sending the message (This would be their nickname)
# - {receiver-username}: The username of the player receiving the message
# - {receiver-displayname}: The display name of the player receiving the message (This would be their nickname)
# - {message}: The content of the message being sent
pms-to-discord: "[SocialSpy] {sender-username} -> {receiver-username}: {message}"
/baltop command works again on versions 1.15.2 and below. (#6115)/delhome no longer sends an extra message when deleting a home that doesn't exist. (#6150)The following bugs from 2.21.1 development builds have been fixed:
/spawnmob command works again on versions 1.21.5 and below. (#6121)essentials.sethome.bed or not. (#6151)EssentialsX 2.21.1 introduces a new event:
SignTransactionEvent is fired when a player is about to use a buy or sell sign. (#6071)IUser#getLastActivityTime. (#6101)GlobalChatEvent is now fired for every chat message that EssentialsX Chat processes regardless of whether a chat radius has been set. (#6113)TranslatableException#getMessage now returns plaintext once again, not unparsed MiniMessage tags. (#6134)For a full commit log, click here.
Note: Looking for addons? See the full EssentialsX collection on Modrinth!
At long last, 🎉 EssentialsX 2.21.0 is here! This release comes with support for Minecraft 1.21.4 and content from The Garden Awakens drop, a rework of text throughout the plugin to add initial support for rich text components with MiniMessage, and a handful of new features and bug fixes!
Thanks to everyone who has contributed code to this release (many of whom are listed at the bottom of this release), as well as to everyone who has contributed to translations on Crowdin!
In addition, a massive thanks to our community members who have assisted countless people with using EssentialsX across GitHub and MOSS, including @Evidentsinger14, @JasonHorkles, @ImDarkLaw, @Chew and many others.
The EssentialsX project is powered by the community. If you want to help us out, you can contribute by;
Finally, a shout out to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
Your support helps us to continue spending hours of our free time working on and improving EssentialsX for everyone. If you've got any spare change, you can click one of the buttons below to support the EssentialsX project with a one-off or monthly pledge:
EssentialsX officially supports the Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
1.21.4 - EssentialsX actively develops for and supports this version.1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, and 1.20.6 - these versions are still supported, but are not a priority for us, and may be dropped in a future release.We recommend using the latest version of Paper. EssentialsX includes significant improvements that require Paper, including:
/anvil, /grindstone, /cartographytable, /loom, /smithingtable, and /stonecutter are only supported on Paper./recipe on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.EssentialsX does not support the following Minecraft versions or server software:
1.7.10 or below.If you're upgrading from 2.20.1, you can keep your current EssentialsX config file. However, 2.21.0 adds several new options that you may want to configure. Read on for the list of new configuration options.
Upgrading from 2.20.0 or older versions of EssentialsX? See the previous update changelogs.
On CraftBukkit and Spigot, anchor charges will deplete regardless of the respawn-at-anchor due to an unfixed bug in CraftBukkit. This bug has been patched in Paper.
On Spigot 1.17.1 and greater, player's fly mode will be reset regardless of the world-change-fly-reset setting due to behavior change in vanilla. A fix for this is in place for Paper servers. (#6012)
EssentialsX 2.21.0 has undergone a complete overhaul of our translation system to add support for chat components (Adventure/MiniMessage).
This brings with it the addition of per-player-locale translations and support for MiniMessage inside our messages.properties files.
All messages should remain nearly identical than they were before this update. A future update will add hover and click events to some of our commands.
Message files have been moved from plugins/Essentials/ to plugins/Essentials/messages/ in this release. When upgrading to 2.21.0, any custom message files will be converted and moved to the new location automatically.
By default, EssentialsX 2.21.0 now uses the modern AsyncChatEvent from Paper instead of Bukkit's legacy AsyncPlayerChatEvent. This will allow EssentialsX to support rich text components in chat formats in the future.
However, if you use any plugins that rely on the legacy AsyncPlayerChatEvent, you may run into compatibility issues when upgrading to 2.21.0.
For now, you can switch back to the legacy events by setting chat.paper-chat-events to false in config.yml, but be aware this config option is not intended to be used long-term and could be removed in the future.
You should aim to replace any incompatible plugins with ones that support Paper's chat events.
EssentialsX now officially supports Paper and Spigot 1.21.4, and content from The Garden Awakens feature drop.
Support for Minecraft 1.21.5 and Spring to Life will be added in a future patch release.
per-player-locale setting. (#4717)EssentialsX can now send messages in a player's native language.
# Should EssentialsX use player's language instead of the server's when sending messages?
# This is useful if you want to use a different language for your server than for your players.
# For example, if you have your server set to English and a player who speaks French, you can set this to true
# and EssentialsX will send messages in French to the player and messages in the console as English.
# If a player's language is not known, the server's language will be used.
per-player-locale: false
message-colors settings. (#4717)You can now customize the color scheme of EssentialsX without having to modify messages.properties files.
# Change the default primary and secondary colours used in EssentialsX messages.
# Some messages may use custom colours, which will need to be edited in the appropriate message files.
# For more information on customising messages, see https://essentialsx.net/wiki/Locale.html
message-colors:
primary: '#ffaa00'
secondary: '#ff5555'
/sell and sell signs (#4770)Players with certain permissions can now be given a customizable multiplier to the value of items they sell through /sell or [Sell] signs. The multipliers can be configured in the config.yml like so:
# Allow players to receive multipliers for items sold with /sell or the sell sign.
# You can set the default multiplier using the 'default' rank below.
# To grant different multipliers to different people, you need to define a 'multiplier-rank' below.
# Create the 'multiplier-rank' below, and give the matching permission: essentials.sell.multiplier.<multiplier-rank>
sell-multipliers:
default: 1.0
double: 2.0
triple: 3.0
/mail command now allows for clearing other people's mail. (#4878)Players with essentials.mail.clear.others can clear other player's mail with /mail clear <player> and players with essentials.mail.clearall can clear the mail of all users with /mail clearall.
/skull command can now give skulls from texture urls. (#5120)You can now use /skull <texture> to give skulls with a texture url or base64 encoded texture data.
/itemlore. (#4773)You can now impose a limit to the number of lore lines players can add using the /itemlore command. Players with the essentials.itemlore.bypass permission will bypass this limit.
# Set the maximum amount of lore lines a user can set with the /itemlore command.
# Users with the essentials.itemlore.bypass permission will be able to bypass this limit.
max-itemlore-lines: 10
socialspy-uses-displaynames setting. (#5613)You can now specify if EssentialX should use usernames over nicknames in socialspy.
# Whether social spy should use formatted display names which may include color.
# If false, social spy will use only the actual player names.
socialspy-uses-displaynames: true
There have been a number of additions related to random teleport. Including, a [RandomTeleport] sign, the ability to run /tpr from the console, as well as the following new config options:
# If configured, users will spawn at the random spawn location instead of the newbies spawnpoint.
random-spawn-location: "none"
# If configured, when users die, they will respawn at the random respawn location.
random-respawn-location: "none"
/balancetop. (#5394)Server admins can now define a minimum balance or time played be met for a player to appear on the /balancetop list with the following config.yml options:
# Requirements which must be met by the player to get their name shown in the balance top list.
# Playtime is in seconds.
baltop-requirements:
minimum-balance: 0
minimum-playtime: 0
{color} and {role} placeholders. (#5157)You can now define a list of roles which should be ignored by the {color} and {role} placeholders.
# A list of roles which should be ignored by the {color} and {role} placeholders.
# for the Discord->MC chat format.
discord-role-blacklist:
- "123456789012345678"
- "Members"
You can now replace role names with whatever you want for the Discord to MC chat relay
# Role aliases allow you to replace the role names with something different in the Discord->MC chat relay format.
# If you are using role aliases, make sure to remove the '#' at the start to allow the setting to be read.
discord-roles-aliases:
# "123456789012345678": "&c&lAdmin"
# "Members": "Member"
/editsign without essentials.editsign.waxed.exempt. (#5492)/pay command now supports abbreviations for thousand (k), millions (m), billions (b), and trillions (t). (#5457)/whois and /seen commands now display if a player is whitelisted or not. (#5486)excluded-biomes setting in tpr.yml now supports custom biomes. (#5703)jail-online-time option enabled now jails the player for the proper amount of time. (#5701)/fireball command can be used to fire wind charges. (#5951)/delhome command now supports * wildcards. (#5919)/skull. Requires the essentials.skull.spawn.others permission. (#5822, #6008)/alts to customize its output. (#5595)/ess dump command now uses pastes.dev. (#6011)/discord is now clickable. (#5934)server-start message now has a {starttimeseconds} placeholder to display the server startup time. (#5686)/spawn command no longer sends its message before the teleport occurs. (#6025)/potion. (#5552)/ignore themselves. (#5488)/eco give command now has a more consistent color scheme. (#5738)/pay command now supports commas/periods based on the player's locale. (#5962)respawn-at-home-bed was enabled has been resolved. (#5825)essentials.keepinv. (#6036)/book command can now lock/unlock books again on 1.20+. (#6064)/mail messages no longer show up in the alert when joining. (#6063)The following bugs from 2.21.0 development builds have been fixed:
/pay are now more strictly parsed to prevent trolling. (#5638)tpr.yml file. (#6004)EssentialsX 2.18.0 replaced the legacy synchronous Teleport, TimedTeleport, IUser#getTeleport, and IJails#sendToJail(IUser, String) APIs with new, asynchronous replacements that support Paper's async chunk loading.
The legacy synchronous teleport APIs have not been fully functional for some time, and in 2.21.0, they have now been removed.
Any plugins relying on these were likely already broken, but those plugins will no longer compile against or work with 2.21.0.
InvalidWorldException is deprecated for removal. (#5984)This exception is no longer thrown by any method in the Essentials API and will be removed in a future version. Please update your code.
EssentialsX 2.21.0 introduces a new event:
HelpopMessageSentEvent is fired when a player sends a message through /helpop (#5490)DiscordLinkService#getAllLinkedPlayers. (#5896)For a full commit log, click here.
🎉 EssentialsX 2.20.1 is here, bringing with it 1.20.1 support and several bug fixes.
Thanks to everyone who has contributed code to this release (many of whom are listed at the bottom of this release), as well as to everyone who has contributed to translations on Crowdin!
In addition, a massive thanks to our community members who have assisted countless people with using EssentialsX across GitHub and MOSS, including @triagonal, @JasonHorkles, @Evidentsinger14, @ImDarkLaw, @Chew, @Laarryy and many others.
The EssentialsX project is powered by the community. If you want to help us out, you can contribute by;
Finally, a shoutout to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
Your support helps us to continue spending hours of our free time working on and improving EssentialsX for everyone. If you've got any spare change, you can click one of the buttons below to support the EssentialsX project with a one-off or monthly pledge:
EssentialsX officially supports the CraftBukkit, Spigot, and Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
1.19.4 and 1.20.1 - EssentialsX actively develops against and supports these versions.1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.5, 1.17.1, and 1.18.2 - these versions are still supported, but are not a priority for us, and may be dropped in a future release.We recommend using the latest version of Paper. EssentialsX includes significant improvements that require Paper, including:
/anvil, /grindstone, /cartographytable, /loom, /smithingtable, and /stonecutter are only supported on Paper./recipe on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.EssentialsX does not support the following Minecraft versions or server software:
1.7.10 or below.If you're upgrading from 2.20.0, you can keep your current EssentialsX config file. There are no new changes to configuration files in this release.
Upgrading from 2.19.7 or older versions of EssentialsX? See the previous update changelogs.
On CraftBukkit and Spigot, anchor charges will deplete regardless of the respawn-at-anchor due to an unfixed bug in CraftBukkit. This bug has been patched in Paper.
On Minecraft 1.17.1 and greater, player's fly mode will be reset regardless of the world-change-fly-reset setting due to behavior change in vanilla. This will be fixed in a future version of Essentials.
EssentialsX now officially supports Paper, Spigot, and CraftBukkit 1.20.1.
/recipe hand. (#5346)/toggleshout command. (#5367)currency-symbol-suffix to true in the config. (#5441)The following bugs from 2.20.1 development builds have been fixed:
EssentialsX 2.20.1 introduces a new event:
KitPreExpandItemsEvent is fired before players are about to receive kit items. (#5407)For a full commit log, click here.
After months of hard work from our contributors, EssentialsX 2.20.0 is here! 🎉
This release contains a new Discord Link addon, 1.19.4 support, a few new features, bug fixes and internal improvements. Keep reading to see all the new additions!
Thanks to all our contributors who contributed to this release (all of whom are listed at the bottom of this release), as well as to everyone who has contributed to translations on Crowdin!
In addition, a massive thanks to our community members who have assisted countless people with using EssentialsX across GitHub and MOSS, including @triagonal, @JasonHorkles, @Evidentsinger14, @ImDarkLaw, @Chew, @Laarryy and many others.
The EssentialsX project is powered by the community. If you want to help us out, you can contribute by;
Finally, a shoutout to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
Your support helps us to continue spending hours of our free time working on and improving EssentialsX for everyone. If you've got any spare change, you can click one of the buttons below to support the EssentialsX project with a one-off or monthly pledge:
EssentialsX officially supports the CraftBukkit, Spigot, and Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
✅ 1.18.2 and 1.19.4 - EssentialsX actively develops against and supports these versions.
⚠️ 1.8.8, 1.9.4, 1.10.2, 1.11.2, 1.12.2, 1.13.2, 1.14.4, 1.15.2, 1.16.5, and 1.17.1 - these versions are still supported, but are not a priority for us, and may be dropped in a future release.
We recommend using the latest version of Paper. EssentialsX includes significant improvements that require Paper, including:
/anvil, /grindstone, /cartographytable, /loom, /smithingtable, /stonecutter are only supported on Paper./recipe on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.EssentialsX does not support the following Minecraft versions or server software:
1.7.10 or below.If you're upgrading from 2.19.3 or above, you can keep your current EssentialsX config file. However, 2.20.0 adds several new options that you may want to configure, and to do so you'll need to either update your config or add the new settings to your existing config. Read on for a list of changes and new config options.
Upgrading from 2.19.2 or older versions of EssentialsX? See the previous update changelogs.
EssentialsX Discord now has the Discord Link addon, which lets your users easily link their Discord and Minecraft accounts! You can synchronize Discord roles with Vault groups, as well as optionally requiring players to link to Discord before playing, all with a bloat-free and easy-to-understand configuration!
You can read more about EssentialsX Discord Link and see how to get started here.
On CraftBukkit and Spigot, anchor charges will deplete regardless of the respawn-at-anchor due to an unfixed bug in CraftBukkit. This bug has been patched in Paper.
EssentialsX 2.20.0 doesn't yet support blocks, items and mobs from Minecraft: Trails and Tales in 1.19.x or 1.20. As a result, some commands and features (including /give, /spawnmob and /editsign) won't recognise the new content yet.
We plan to release a 2.20.1 update once Minecraft 1.20 has released, which will add support for the new content.
EssentialsX 2.20 overhauls the user caching system, fixing issues with third-party plugins such as Towny.
Due to a large overhaul in data format, once you upgrade to 2.20.0, you will not be able to downgrade your userdata to older versions. We strongly recommend taking a full backup of your plugins/Essentials/usermap.csv file before you update from 2.19.7 to 2.20.0 if you ever wish to downgrade in the future.
EssentialsX now officially supports CraftBukkit, Spigot and Paper for 1.19.4.
/renamehome commandYou can now use /renamehome to change the name of your existing home. If you have the essentials.renamehome.others permission, you can rename the homes of other players.
/bottom commandYou can now use /bottom to teleport to the lowest safe location in their current position.
first-join message typeA new Minecraft -> Discord message type, sent when a player joins the server for the first time.
# Configure which Discord channels different messages will be sent to.
# You can either use the names of the channels listed above or just the id of a channel.
# If an invalid channel is used, the primary channel will be used instead.
#
# To disable a message from showing, use 'none' as the channel name.
message-types:
...
# Join messages sent when a player joins the Minecraft server for the first time. This type is sent instead of the join type.
first-join: primary
# The following entries allow you to customize the formatting of messages sent by the plugin.
# Each message has a description of how it is used along with placeholders that can be used.
messages:
...
# This is the message sent to Discord when a player joins the minecraft server for the first time.
# The following placeholders can be used here:
# - {username}: The name of the user joining
# - {displayname}: The display name of the user joining
# - {joinmessage}: The full default join message used in game
# - {online}: The amount of players online
# - {unique}: The amount of unique players to ever join the server
# ... PlaceholderAPI placeholders are also supported here too!
first-join: ":arrow_right: :first_place: {displayname} has joined the server for the first time!"
local, question, and shout message typesA few new Minecraft -> Discord message types and configuration options have been added in order to support local, question and shout chat.
# Whether to use Essentials Chat events instead of normal chat event.
# This allows you to filter chat by its type (local, question, shout).
use-essentials-events: false
# Configure which Discord channels different messages will be sent to.
# You can either use the names of the channels listed above or just the id of a channel.
# If an invalid channel is used, the primary channel will be used instead.
#
# To disable a message from showing, use 'none' as the channel name.
message-types:
...
# Message sent when a player talks in local chat.
# use-essentials-events must be set to "true" for this to work.
local: none
# Message sent when a player asks a question in global chat.
# use-essentials-events must be set to "true" for this to work.
question: primary
# Message sent when a player talks in global chat.
# use-essentials-events must be set to "true" for this to work.
shout: primary
# The following entries allow you to customize the formatting of messages sent by the plugin.
# Each message has a description of how it is used along with placeholders that can be used.
messages:
...
# This is the message that is used to relay minecraft local chat in Discord.
# The following placeholders can be used here:
# - {username}: The username of the player sending the message
# - {displayname}: The display name of the player sending the message (This would be their nickname)
# - {message}: The content of the message being sent
# - {world}: The name of the world the player sending the message is in
# - {prefix}: The prefix of the player sending the message
# - {suffix}: The suffix of the player sending the message
# ... PlaceholderAPI placeholders are also supported here too!
mc-to-discord-local: "**[Local]** {displayname}: {message}"
# This is the message that is used to relay questions from minecraft chat in Discord.
# The following placeholders can be used here:
# - {username}: The username of the player sending the message
# - {displayname}: The display name of the player sending the message (This would be their nickname)
# - {message}: The content of the message being sent
# - {world}: The name of the world the player sending the message is in
# - {prefix}: The prefix of the player sending the message
# - {suffix}: The suffix of the player sending the message
# ... PlaceholderAPI placeholders are also supported here too!
mc-to-discord-question: "**[Question]** {displayname}: {message}"
# This is the message that is used to relay minecraft global chat in Discord.
# The following placeholders can be used here:
# - {username}: The username of the player sending the message
# - {displayname}: The display name of the player sending the message (This would be their nickname)
# - {message}: The content of the message being sent
# - {world}: The name of the world the player sending the message is in
# - {prefix}: The prefix of the player sending the message
# - {suffix}: The suffix of the player sending the message
# ... PlaceholderAPI placeholders are also supported here too!
mc-to-discord-shout: "**[Shout]** {displayname}: {message}"
You can now change the webhook name format for messages sent to Discord.
# The following entries allow you to customize the formatting of messages sent by the plugin.
# Each message has a description of how it is used along with placeholders that can be used.
messages:
...
# This is the bot's name which appears in Discord when sending player-specific messages.
# The following placeholders can be used here:
# - {username}: The username of the player sending the message
# - {displayname}: The display name of the player sending the message (This would be their nickname)
# - {world}: The name of the world the player sending the message is in
# - {prefix}: The prefix of the player sending the message
# - {suffix}: The suffix of the player sending the message
# - {botname}: Name of the Discord bot
# ... PlaceholderAPI placeholders are also supported here too!
mc-to-discord-name-format: "{botname}"
/mail clear command.essentials.nick.hideprefix permission to hide the nickname prefix for those with it.essentials.commandcooldowns.bypass.<command name>./recipe./whois no longer overflow./tppos command in the console./tpoffline when the player's last location is not known./top command now sends feedback once again./editsign command now calls the SignChangeEvent.NullPoinerException in some cases./ess reload in some cases.The following bugs from 2.20.0 development builds have been fixed:
/hat./createkit command works on 1.8.8 once again./link Discord command no longer requires administrator privileges.NullPointerExceptionDiscordRelayEventDiscordRelayEvent now has a getViewers() method which returns a mutable list of viewers for the relayed message.
With the addition of the Discord Link Module, there is now an API service to access information about a player's Discord account that they have linked. You can obtain an instance of this and use it in tandem with the Discord module API like so:
// Gets the API service for EssentialsX Discord Link
final DiscordLinkService linkApi = Bukkit.getServicesManager().load(DiscordLinkService.class);
final String discordId = linkApi.getDiscordId(player.getUniqueId());
if (discordId == null) {
// The player has no Discord account linked.
return;
}
// Gets the API service for EssentialsX Discord which we will use to get the actual user
final DiscordService discordApi = Bukkit.getServicesManager().load(DiscordService.class);
final InteractionMember member = discordApi.getMemberById(discordId).join();
final String userTag = member == null ? null : member.getTag();
EssentialsX 2.20.0 introduces several new events:
GlobalChatEvent is fired when players send a message in global chat.LocalChatEvent is fired when players send a message in local chat.HomeModifyEvent is fired when a home is created, updated or deleted.For a full commit log, click here.

The essential plugin suite for Paper and Spigot servers.