EssentialsX 2.19.3 is here! 🎉 This release features new chat features, support for Minecraft 1.18.2 and several bug fixes. 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 on GitHub and MOSS, including @triagonal, @JasonHorkles, @Evidentsinger14, @Chew, and many others.
Finally, a shoutout to all our supporters on Patreon, GitHub Sponsors and Ko-fi, including:
- AKP
- madscientist032
- @aternosorg
- @pebblehost
- ...and 26 more supporters! (Want to see your name here? You can join our Hero tier on Patreon or GitHub Sponsors!)
Your support helps us to continue spending hours of our free time working on and improving EssentialsX for everyone. 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. EssentialsX is designed to work on the following Minecraft versions:
- ✅
1.17.1
and1.18.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
, and1.16.5
- 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.
- 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.3
If you're upgrading from 2.19.2, you can keep your current EssentialsX config file. However, 2.19.3 adds some 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.0 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.
EssentialsX Discord hangs on single core systems on outdated versions of JDK 17
Due to a known bug in OpenJDK 17.0.1, EssentialsX Discord may hang during startup when running in a single-core environment. Due to the nature of the JDK bug, there is nothing EssentialsX can do directly to fix this.
You can fix this by updating your Java version to 17.0.2 or later. If you are unable to change your Java version, please contact your server host for help.
(You can alternatively add -Djava.util.concurrent.ForkJoinPool.common.parallelism=1
to your startup flags to attempt to mitigate the issue. However, this should be used as a last resort only. OpenJDK 17.0.2 fixes this issue and should be used instead of this workaround.)
New features
EssentialsX now supports 1.18.2 (#4821)
EssentialsX now officially supports CraftBukkit, Spigot and Paper for 1.18.2.
/nick
can now be used even when change-displayname
is disabled (#4758)
You can now allow /nick
without letting EssentialsX take over displayname formatting. This may be useful if you want to use a third-party chat formatting plugin while still letting EssentialsX handle nicknames.
EssentialsX Chat: Enhanced local and global chat features (#4535)
This release builds on both Essentials' legacy chat features and the new /toggleshout
command introduced in 2.19.0, adding several new config.yml
options and more permissions to control local and global chat modes!
Config option to control whether players default to local or shout chat
You can now toggle whether players default to local chat mode or shout mode when they log in using the chat.shout-default
option:
chat:
...
# Whether players should be placed into shout mode by default.
shout-default: false
Config option to control whether /toggleshout
should persist across server restarts
You can now let players keep their /toggleshout
setting when the server restarts using the chat.persist-shout
option:
chat:
...
# Whether a player's shout mode should persist restarts.
persist-shout: false
Config option to enable or disable question chat mode
You can now control whether questions (by default, messages starting with ?
and sent in a unique chat channel) are enabled or disabled on your server using the chat.question-enabled
option:
chat:
...
# Whether chat questions should be enabled or not.
question-enabled: true
New permissions for sending and receiving chats
Essentials previously had essentials.chat.shout
and essentials.chat.question
permissions, which let you control whether or not players can send shout or question messages respectively.
You can now enable or disable the following new permissions (all of which default to true):
essentials.chat.local
allows players to send messages in local chatessentials.chat.receive.shout
allows players to receive shout chat messagesessentials.chat.receive.question
allows players to receive question chat messagesessentials.chat.receive.local
allows players to receive local chat messages
Local chat prefix when in shout mode
If a player enables shout mode with /toggleshout
, any messages they send with the shout prefix (!
by default) will now be sent to local chat.
Other additions
- The output of
/near
is now translatable. (#4740) - You can now use decimal places in
/tppos
. (#4729) - The
/ess dump
command can now include the settings files for random teleports (tpr.yml
),/sell
values (worth.yml
) and EssentialsX Spawn (spawn.yml
). (#4785) [trade]
(and deprecated[protection]
) signs now save their owners' UUIDs on Minecraft 1.14 and above, and should no longer break when the owner changes their username. (#4713)- You can now change the
tree-command-range-limit
setting (defaults to300
) inconfig.yml
to limit how far away/tree
and/bigtree
can place trees. (#4728)
Bug fixes
Bugs fixed from 2.19.2 and older versions
These bugs existed in 2.19.2 and have been fixed in this release.
- Unused legacy data storage code has been removed. (#4707)
- EssentialsX no longer uses deprecated Paper methods for chat component serialisation. (#4706)
- Safe teleports on older versions of Minecraft no longer break. (#4708)
- Safe teleports now use the world's true minimum height instead of hardcoding y=0. (#4715)
- The update checker no longer spams the console when a GitHub ratelimit is encountered. (#4731)
/tpaccept
without any arguments now accepts the most recent teleport request when multiple are queued. (#4755)- EssentialsX and EssentialsX AntiBuild no longer cause Spigot to load legacy material support. (#4697)
- The
vanishing-items-policy
andbinding-items-policy
config options now apply to the offhand. (#4725) - Trade signs can no longer be used to dupe items when players have nearly-full inventories. (#4748)
- The update checker now falls back to a proxy provided by EssentialsX in the event that GitHub is unresponsive. (#4816)
- Discord: The command executor used on Paper now works on the latest Paper versions and uses Paper's command forwarding API where available. (#4791, #4794)
- Discord: Advancement notifications now work on 1.12.2. (#4826)
Regressions fixed from 2.19.3 dev builds
There are no known regressions in 2.19.3 dev builds.
Changes for developers
EssentialsX now builds with Gradle 7.4
The build script has been updated to Gradle 7.4. Various build plugins have also been updated, including an update to run-paper
to fix the runServer
tasks which broke following an update to Paper's download API in late 2021. (The runServer
tasks will be updated to use Paper 1.18.2 during the 2.20.x development cycle.)
For a full commit log, click here.