Skip to content

EssentialsX 2.19.3 - The Otherside Update Part 3

Compare
Choose a tag to compare
@mdcfe mdcfe released this 04 Mar 12:12
· 258 commits to 2.x since this release

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:

Patreon Ko-fi GitHub Sponsors

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 and 1.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, and 1.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:

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 chat
  • essentials.chat.receive.shout allows players to receive shout chat messages
  • essentials.chat.receive.question allows players to receive question chat messages
  • essentials.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 to 300) in config.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 and binding-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.