🎉 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;
- Updating or reviewing translations on Crowdin
- Help users in our support channel on Discord
- Fixing bugs or offering new features on GitHub
Finally, a shoutout to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
- AKP
- Vestria MC
- @aternosorg
- @pebblehost
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:
Supported server versions
EssentialsX officially supports the CraftBukkit, Spigot, and Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
- ✅
1.19.4
and1.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
, and1.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:
- Paper's async chunk loading reduces lag spikes during player teleports.
CraftBukkit and Spigot do not support async chunk loading from plugins. /anvil
,/grindstone
,/cartographytable
,/loom
,/smithingtable
, and/stonecutter
are only supported on Paper.
CraftBukkit and Spigot do not support the API needed for these./recipe
on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.- Paper contains countless overall performance optimisations over CraftBukkit and Spigot.
EssentialsX does not support the following Minecraft versions or server software:
- ℹ️ Folia is not supported yet. We are working on proper Folia support. Do not attempt to use current versions of EssentialsX on Folia or forks of it - you may lose userdata.
- 🛑 "Ultra-performance" Paper forks including Akarin, Yatopia, and similar projects.
These often perform non-standard behaviour and can break your worlds and installed plugins. - 🛑 Mohist - The Mohist project is known to be sketchy, and has, in the past, tricked users into deleting official EssentialsX jars and installing an unofficial build.
We cannot guarantee the safety or functionality of unofficial builds of EssentialsX; you should avoid using Mohist where possible. - 🛑 Other Forge/Bukkit hybrid servers including Cauldron, Thermos, Magma, CatServer - EssentialsX is built for the Bukkit API, which does not properly support mods.
For modded servers, use SpongeForge and Nucleus, or an alternative mod for Forge or Fabric. - 🛑
1.7.10
or below.
Upgrading to 2.20.1
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.
Known issues
Anchor charges deplete on Spigot even when EssentialsX Spawn overrides the spawn location
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.
Fly mode is reset when teleporting between worlds. (#4325)
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.
New features
EssentialsX now supports 1.20.1 (#5389)
EssentialsX now officially supports Paper, Spigot, and CraftBukkit 1.20.1.
Other additions
- Translations have been updated with the latest community contributions from Crowdin.
- Our dependencies and build tools have been updated to their latest versions. (#5383)
- Added the ability to get the recipe of the item you're holding with
/recipe hand
. (#5346)
Bug fixes
Bugs fixed from 2.20.0 and older versions
- An exception is no longer raised during new joins when using LuckPerms contexts. (#5364)
- Shout and question prefixes now work when using the
/toggleshout
command. (#5367) - Underscores in kit placeholders no longer are removed upon receiving the kit. (#5366)
- Invalid decimal values provided in configuration files now return proper default values. (#5373)
- An exception is no longer raised when doing operations on some offline players. (#5375, #5466)
- Invalid material names in /unlimited user data values no longer prevent user data from loading. (#5438)
- Trade signs no longer break when setting
currency-symbol-suffix
totrue
in the config. (#5441) - The enchant command now supports items held in the offhand. (#5449)
- The book command now works properly with other items held in the offhand. (#5449)
- Various issues related to offline player lookups have been fixed. (#5462)
- AntiBuild: AntiBuild checks are no longer ran for NPCs. (#5365)
- Discord: Console messages and webhook messages should no longer spam console or die out after spam. (#4786)
- Discord: The quit message online player count placeholder is no longer off by one. (#5440)
- Discord: The console relay now properly filters all formatting codes. (#5454)
- Discord Link: Player link data is no longer saved to disk when no data has changed. (#5388)
- Discord Link: Discord roles and minecraft groups are now removed instantly upon unlink. (#5388)
Regressions fixed from 2.20.1 dev builds
The following bugs from 2.20.1 development builds have been fixed:
- Commands in kits no longer replace spaces with underscores. (#5377)
- Empty lines in kits no longer raise an exception. (#5378)
- Kits no longer only replace spaces with underscores in commands. (#5379)
Changes for developers
New events
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;
- Updating or reviewing translations on Crowdin
- Help users in our support channel on Discord
- Fixing bugs or offering new features on GitHub
Finally, a shoutout to our supporters on Patreon and GitHub Sponsors!
A special thanks goes to our Hero tier supporters:
- AKP
- Vestria MC
- @aternosorg
- @pebblehost
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:
Supported server versions
EssentialsX officially supports the CraftBukkit, Spigot, and Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
-
✅
1.18.2
and1.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
, and1.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:
- Paper's async chunk loading reduces lag spikes during player teleports.
CraftBukkit and Spigot do not support async chunk loading from plugins. /anvil
,/grindstone
,/cartographytable
,/loom
,/smithingtable
,/stonecutter
are only supported on Paper.
CraftBukkit and Spigot do not support the API needed for these./recipe
on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.- Paper contains countless overall performance optimisations over CraftBukkit and Spigot.
EssentialsX does not support the following Minecraft versions or server software:
- 🛑 "Ultra-performance" Paper forks including Akarin, Yatopia, and similar projects.
These often perform non-standard behaviour and can break your worlds and installed plugins. - 🛑 Mohist - The Mohist project is known to be sketchy, and has, in the past, tricked users into deleting official EssentialsX jars and installing an unofficial build.
We cannot guarantee the safety or functionality of unofficial builds of EssentialsX; you should avoid using Mohist where possible. - 🛑 Other Forge/Bukkit hybrid servers including Cauldron, Thermos, Magma, CatServer - EssentialsX is built for the Bukkit API, which does not properly support mods.
For modded servers, use SpongeForge and Nucleus, or an alternative mod for Forge or Fabric. - 🛑
1.7.10
or below.
Upgrading to 2.20.0
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.
New module: EssentialsX Discord Link! 🎉
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.
Known issues
Anchor charges deplete on Spigot even when EssentialsX Spawn overrides the spawn location
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.
Minecraft: Trails and Tales content not yet supported in commands
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.
Important changes
Usermap storage and cache changes
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.
New features
EssentialsX now supports 1.19.4
EssentialsX now officially supports CraftBukkit, Spigot and Paper for 1.19.4.
New /renamehome
command
You 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.
New /bottom
command
You can now use /bottom
to teleport to the lowest safe location in their current position.
Discord: New first-join
message type
A 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!"
Discord: New local
, question
, and shout
message types
A 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}"
Discord: Configurable webhook name
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}"
Other additions
- Translations have been updated with the latest community contributions from Crowdin.
- Added tab completions for the
/mail clear
command. - Added the
essentials.nick.hideprefix
permission to hide the nickname prefix for those with it. - Added per command cooldown permissions:
essentials.commandcooldowns.bypass.<command name>
.
Bug fixes
Bugs fixed from 2.19.7 and older versions
- Further duplication glitches were fixed in
/recipe
. - Various performance issues with NPCs and jails have been fixed.
- Playtime statistics in
/whois
no longer overflow. - Various offhand and inventory related issues have been fixed.
- Doubles are now supported for coordinates in the
/tppos
command in the console. - Trade signs no longer accept water bottles as a valid trade for a potion.
- An exception is no longer raised in
/tpoffline
when the player's last location is not known. - Sulk sensors no longer detect vanished players.
- The
/top
command now sends feedback once again. - The
/editsign
command now calls theSignChangeEvent
. - Commands preformed on offline players no longer raise a
NullPoinerException
in some cases. - Discord: The console relay no longer stops working after
/ess reload
in some cases. - Discord: Webhooks should no longer hang the server during shutdown in some cases.
- Discord: Translated Discord command descriptions are now properly truncated to account for Discord character limits.
Regressions fixed from 2.20.0 dev builds
The following bugs from 2.20.0 development builds have been fixed:
- NPC users are once again added to the UserMap properly.
- Servers with large amounts of user data no longer hang for minutes on startup.
- The offhand is no longer used for
/hat
. - The
/createkit
command works on 1.8.8 once again. - Sending a mail to all online players works once again.
- The user map now properly expels users from cache after a while.
- Discord: Webhook names are no longer sanitized for markdown.
- Discord Link: The
/link
Discord command no longer requires administrator privileges. - Discord Link: Synchronizing offline players no longer raises a
NullPointerException
Changes for developers
Viewers can now be modified for DiscordRelayEvent
DiscordRelayEvent
now has a getViewers()
method which returns a mutable list of viewers for the relayed message.
Discord Link Module API
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();
New events
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.
EssentialsX 2.19.7 is here! 🎉 This release has several bug fixes for chat and other issues. Keep reading to see all the changes!
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!
Finally, a massive thanks to our community members who have assisted countless people on GitHub and MOSS, including @triagonal, @JasonHorkles, @Evidentsinger14, @Chew, @Laarryy and many others.
In addition, a shoutout to our supporters on Patreon, GitHub Sponsors and Ko-fi. A special thanks goes to our Hero tier supporters:
- AKP
- Vestria MC
- @aternosorg
- @pebblehost
Want to be listed here? You can join our Hero tier on Patreon or GitHub at the links above!
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:
Supported server versions
EssentialsX officially supports the CraftBukkit, Spigot, and Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
- ✅
1.18.2
and1.19.2
- 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
, and1.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:
- Paper's async chunk loading reduces lag spikes during player teleports. CraftBukkit and Spigot do not support async chunk loading from plugins.
/anvil
,/grindstone
,/cartographytable
,/loom
,/smithingtable
,/stonecutter
are only supported on Paper. CraftBukkit and Spigot do not support the API needed for these./recipe
on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.- Paper properly shows colours in EssentialsX's console log messages, including EssentialsX Chat messages.
- Paper contains countless overall performance optimisations over CraftBukkit and Spigot.
- Paper supports all properly-written plugins for CraftBukkit and Spigot.
EssentialsX does not support the following Minecraft versions or server software:
- 🛑 "Ultra-performance" Paper forks including Akarin, Yatopia, and similar projects - these often perform non-standard behaviour and can break your worlds and installed plugins.
- 🛑 Mohist - The Mohist project is known to be sketchy, and has, in the past, tricked users into deleting official EssentialsX jars and installing an unofficial build. We cannot guarantee the safety or functionality of unofficial builds of EssentialsX; you should avoid using Mohist where possible.
- 🛑 Other Forge/Bukkit hybrid servers including Cauldron, Thermos, Magma, CatServer - EssentialsX is built for the Bukkit API, which does not properly support mods. For modded servers, use SpongeForge and Nucleus, or an alternative mod for Forge or Fabric.
- 🛑
1.7.10
or below.
Upgrading to 2.19.7
If you're upgrading from 2.19.3 or above, you can keep your current EssentialsX config file. There have been no changes to the configuration since that release.
Upgrading from 2.19.2 or older versions of EssentialsX? See the previous update changelogs.
Known issues
Anchor charges deplete on Spigot even when EssentialsX Spawn overrides the spawn location
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.
Vanilla signed chat commands may show EssentialsX formatting on 1.19.1+
If you use any vanilla commands that send secure chat messages (including /minecraft:msg
or /minecraft:me
), you may see formatting from EssentialsX Chat in these messages. This is due to an implementation quirk in Spigot, which forces plugins to handle all secure previews for vanilla chat commands as if they were public chat messages. There is no known workaround for this at this time, but you can continue to use unsigned commands from EssentialsX and other plugins as normal.
Bug fixes
Bugs fixed from 2.19.6 and older versions
- Using
/sudo
to send a chat message as another user will no longer send their previewed message. (#5062) - To prevent item loss, users can no longer use
/invsee
on themselves. (#5061) - The
/ess dump
command no longer errors on 1.8.8. (#5067) - Various notifications (including bans/kicks/mutes and
/helpop
) now show colors properly in the console. (#5075) - Users with RGB permissions but without color permissions can now use RGB color codes properly. (#5076)
- Backup scripts now properly log errors again. (#5077)
- The
/baltop
command now works in command blocks. (#5078) - Chat: Local chat messages are no longer sent globaly. (#5062)
Regressions fixed from 2.19.7 dev builds
There are no known regressions in 2.19.7 dev builds.
Changes for developers
There are no API changes in this release!
For a full commit log, click here.
EssentialsX 2.19.6 is here! 🎉 This release features slight additions, support for Minecraft 1.19.2, and several bug fixes. Keep reading to see all the changes!
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!
Finally, a massive thanks to our community members who have assisted countless people on GitHub and MOSS, including @triagonal, @JasonHorkles, @Evidentsinger14, @Chew, @Laarryy and many others.
In addition, a shoutout to our supporters on Patreon, GitHub Sponsors and Ko-fi. A special thanks goes to our Hero tier supporters:
- AKP
- @aternosorg
- @pebblehost
Want to be listed here? You can join our Hero tier on Patreon or GitHub at the links above!
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:
Supported server versions
EssentialsX officially supports the CraftBukkit, Spigot, and Paper server software. Specifically, EssentialsX is designed to work on the following Minecraft versions:
- ✅
1.18.2
and1.19.2
- 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
, and1.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:
- Paper's async chunk loading reduces lag spikes during player teleports. CraftBukkit and Spigot do not support async chunk loading from plugins.
/anvil
,/grindstone
,/cartographytable
,/loom
,/smithingtable
,/stonecutter
are only supported on Paper. CraftBukkit and Spigot do not support the API needed for these./recipe
on 1.12+ requires Paper to avoid a dupe bug introduced by CraftBukkit and Spigot.- Paper properly shows colours in EssentialsX's console log messages, including EssentialsX Chat messages.
- Paper contains countless overall performance optimisations over CraftBukkit and Spigot.
- Paper supports all properly-written plugins for CraftBukkit and Spigot.
EssentialsX does not support the following Minecraft versions or server software:
- 🛑 "Ultra-performance" Paper forks including Akarin, Yatopia, and similar projects - these often perform non-standard behaviour and can break your worlds and installed plugins.
- 🛑 Mohist - The Mohist project is known to be sketchy, and has, in the past, tricked users into deleting official EssentialsX jars and installing an unofficial build. We cannot guarantee the safety or functionality of unofficial builds of EssentialsX; you should avoid using Mohist where possible.
- 🛑 Other Forge/Bukkit hybrid servers including Cauldron, Thermos, Magma, CatServer - EssentialsX is built for the Bukkit API, which does not properly support mods. For modded servers, use SpongeForge and Nucleus, or an alternative mod for Forge or Fabric.
- 🛑
1.7.10
or below.
Upgrading to 2.19.6
If you're upgrading from 2.19.3 or above, you can keep your current EssentialsX config file. There have been no changes to the configuration since that release.
Upgrading from 2.19.2 or older versions of EssentialsX? See the previous update changelogs.
Important change: EssentialsX Chat now supports secure chat (#5030)
Minecraft 1.19.1 introduced a new Player Reporting feature on the client, allowing players to report chat messages to Mojang in-game. The server now has a secure chat system which allows players to preview and "sign" their chat messages, which ensures players can't use client mods to fabricate reports with fake messages. If the game can't verify a message, it will show a yellow warning indicator.
As of 2.19.6, EssentialsX Chat supports chat previews. Once you enable chat previews in your server.properties
file, EssentialsX Chat will send back previews to players so they can send secure "signed" messages without the yellow warning indicator.
Players will need to accept previews when they join the server. They will also need to wait a second between finishing their message and pressing Enter to ensure their message gets previewed and signed.
Known issues
Anchor charges deplete on Spigot even when EssentialsX Spawn overrides the spawn location
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.
Vanilla signed chat commands may show EssentialsX formatting on 1.19.1+
If you use any vanilla commands that send secure chat messages (including /minecraft:msg
or /minecraft:me
), you may see formatting from EssentialsX Chat in these messages. This is due to an implementation quirk in Spigot, which forces plugins to handle all secure previews for vanilla chat commands as if they were public chat messages. There is no known workaround for this at this time, but you can continue to use unsigned commands from EssentialsX and other plugins as normal.
New features
EssentialsX now supports 1.19.2 (#4932, #4966, #5026, #5027, #5035)
EssentialsX now has full support for Minecraft 1.19.2, including support for the new Wild Update items in /give
, /item
and kits, new mobs, and new NMS/OBC mappings for accessing internal CraftBukkit code.
EssentialsX also no longer warns when installed on 1.19.2 servers.
Other additions
- Translations have been updated with the latest community contributions on Crowdin. (#4823)
- Console colors are once supported again on Paper. (#4941)
- Reduced the amount of user lookups during LuckPerms context calculations. (#4869)
- The
/playtime
command will now no longer appear to progress for vanished users. (#4918)
Bug fixes
Bugs fixed from 2.19.4 and older versions
- The
/tpa
command no longer double charges a user with/tpauto on
. (#4862) - The
/nick off
command can now be used by users with onlyessentials.nick.changecolors
permissions. (#4876) - The
TeleportWarmupEvent
event now has the correct teleporter. (#4913) - Users who are flying while afk while
freeze-afk-players
is set totrue
will no longer be teleported to the ground. (#4944) - Path and farmland blocks are no longer considered solid blocks. (#4915)
- The
minecraft:
namespace no longer gives an error in the/give
command. (#4960) - The
/unlimited
command no longer floods user's inventory when changing stack sizes. (#4877) - Users who stop being afk no longer fail to count towards the sleep count in some cases. (#4985)
- The
/nick
command now shows your nickname even withchange-displayname
disabled in the config. (#4980) /ess dump
no longer reports offline mode for servers behind Velocity on Paper 1.19 and above. (#5052)- Discord: Console messages in Paper 1.18.2+ properly filter ANSI color codes once again. (#4942)
- Discord: Numerous discord formatting issues have been fixed in relation to slash commands. (#4945)
- Discord: Roles defined in the
allowed-roles
section of the config will no longer resolve to roles with the same name as another role's id. (#4983) - Discord: Leave messages are no longer sent to discord when the user was vanished. (#5009)
Regressions fixed from 2.19.5 and 2.19.6 dev builds
- Essentials no longer fails to load on versions 1.8.8 through 1.12.2. (#4975)
- Local chat allows you to send messages that are 1 character long without sending in public chat. (#5041)
Changes for developers
There are no API changes in this release!
Note: 2.19.5 had an issue with proxy detection on Paper. 2.19.6 has been released to address this issue.
For a full commit log, click here.