Skip to content

EssentialsX 2.19.1 - The Otherside Update Part 2

Compare
Choose a tag to compare
@JRoy JRoy released this 14 Dec 19:29
· 295 commits to 2.x since this release
0b7e780

After months of hard work from our contributors, EssentialsX 2.19.1 is here! πŸŽ‰

This release adds 1.18.1 support, and contains countless new features and 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!

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 dozens of supporters on Patreon, GitHub Sponsors and Ko-fi, including:

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:

Patreon Ko-fi GitHub Sponsors

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

If you're upgrading from 2.19.0, you can keep your current EssentialsX config file. However, 2.19.1 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.18.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.

Important changes

Teleport safety world height changes (#4641, #4667)

The world height is now properly taken into account when determining if a location is safe. EssentialsX should now take into account y-levels of 0 to 255, -64 to 319, and any custom y-level defined by a datapack.

New features

EssentialsX now supports 1.18.1 (#4640, #4667)

EssentialsX now has full support for Minecraft 1.18.1, including support for the new items in /give, /item and kits, new 1.18 world height changes, and new NMS/OBC mappings for accessing internal CraftBukkit code.

EssentialsX also no longer warns when installed on 1.18.1 servers.

New support for multiple TPA requests (#3801)

You can now receive and accept/deny TPA requests from multiple players at a time.

You can edit the maximum amount of TPA requests a player can have at once by changing tpa-max-amount in the config:

# The maximum amount of simultaneous TPA requests that can be pending for any given user.
# Once at this threshold, any new TPA requests will bump the oldest TPA requests out of queue.
# Defaults to 5.
tpa-max-amount: 5

New Discord module features (#4520, #4541, #4620, #4534)

New action message type

A Minecraft -> Discord message type, sent when a player uses the /me or /action commands.

# 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:
  ...
  # Action messages sent when a player runs the /me or /action commands.
  action: 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 runs the /me or /action command.
  # The following placeholders can be used here:
  # - {username}: The name of the user who ran the command
  # - {displayname}: The display name of the user who ran the command
  # - {action}: The action (message) the user used in the command.
  # ... PlaceholderAPI placeholders are also supported here too!
  action: ":person_biking: {displayname} *{action}*"

New /discordbroadcast command

Allows you to send one off messages from Minecraft to Discord. Supports markdown and tab completes server emotes.

gCn04at9cG.mp4.mp4

image

New /discord command

Sends a configured Discord invite link.

# The Discord invite URL that will be shown when a player when using the /discord command or in other areas.
discord-url: "https://discord.gg/invite-code"

New console regex filters

Allows you to filter certain console lines if they match a regex pattern.

# Console relay settings
# The console relay sends every message shown in the console to a Discord channel.
console:
  ...
  # A regex pattern which will not sending matching console messages to Discord.
  console-filter: ""

New /mail sendtempall command (#4561)

Allows you to send a temporary mail to all users on the server with /mail sendtempall <expire time> <message>. Requires the essentials.mail.sendtempall permission.

New /playtime command (#4562, #4619)

You can now run /playtime to view your time in game. If you have the essentials.playtime.others permission, you can also view the playtime of other players.

Jail notifications (#4576)

Players with the essentials.jail.notify permission will now be notified if someone is jailed.

Kits subfolder and multiple kit files (#4407)

You can now optionally create a plugins/Essentials/kits/ folder (in addition to the default kits.yml file) and organise your kits into multiple files within that folder. Kit files in this folder use the same structure as the normal kits.yml file.

For example, you could have a structure like this:

plugins/Essentials/
|--- kits/ (optional)
    |--- cosmetics.yml
    |--- rewards.yml
    |--- staff.yml
|--- kits.yml (required)

All kits will have the same name in-game as they do in the file where they are defined. Kits with the same name in different files will be ignored.

If you set pastebin-createkit: false in your config.yml and use /createkit, it will always place new kits in the default plugins/Essentials/kits.yml. If you want to place your /createkit kits into separate files, we recommend setting pastebin-createkit: true and manually adding the kit to the correct file as desired.

Other additions

  • Translations have been updated with the latest community contributions on Crowdin.
  • Command filtering is now asynchronous on Paper. (#4460)
  • Added the alias /ess dump all for /ess dump *. (#4517)
  • Added UUIDs to /seen for players with the essentials.seen.uuid permission. (#4531)
  • Added a translation for player's real name in the player list. (#4614)
  • Improved the error message for updater checker rate limit. (#4560)
  • Improved performance during world reloads. (#4573)
  • Discord: Updated EssentialsXDiscord dependencies (JDA + discord-webhooks). (#4655)

Bug fixes

Bugs fixed from 2.19.0 and older versions

  • Commands ending in single colon no longer raise an exception. (#4508)
  • Waking up a villager no longer sets your bed home. (#4524)
  • The verbose-command-usages config option now actually reverts usage messages to previous behavior. (#4530)
  • Discord bot tokens are now properly censored in /ess dump. (#4563)'
  • Warps from deleted worlds can once again be deleted. (#4590)
  • Various issues with potions in kits have been fixed. (#4591)
  • Light blocks are no longer considered solid blocks. (#4601)
  • Unsafe homes can now be teleported to when force-disable-teleport-safety is enabled. (#4650)
  • Disabling commands from Essentials addons no longer crash the server. (#4680)
  • Discord: Vanilla commands now work properly with the Discord command relay. (#4552)
  • Discord: Various null issues have been fixed in the Discord module. (#4651)
  • Discord: Discord interaction messages no longer error when sent with messages above 2000 characters. (#4686)

Regressions fixed from 2.19.1 dev builds

  • Player UUID now appears below the alts section of /seen. (#4615)
  • /playtime no longer throws an error on offline players. (#4649)
  • essentials.fly.safelogin now properly considers 1.18 world height. (#4667)
  • Removed ess_ignore_teleport Bukkit metadata. This will be superseded with a proper API. (#4682)

Changes for developers

TPA request API: additions, deprecations and replacements (#3801)

If your plugin hooks into Essentials' TPA system, various APIs have been changed and deprecated to accommodate the TPA system rewrite which now support multiple simultaneous TPA requests.

New methods

IUser#getNextTpaRequest has been added to get the most recent teleport request.
IUser#hasPendingTpaRequests has been added to replace IUser#hasOutstandingTeleportRequest with additional functionality.

Deprecated methods

IUser#hasOutstandingTeleportRequest has been deprecated in favour of IUser#hasPendingTpaRequests.
IUser#getTeleportRequestTime has been deprecated in favour of IUser#getNextTpaRequest.

Vanish metadata value (#4646)

EssentialsX now sets the vanished value on players' Bukkit metadata when they are vanished or hidden. If you use this value already to detect when plugins like VanishNoPacket and SuperVanish hide players, you will now also be able to detect EssentialsX's /vanish with no extra effort.

New events

EssentialsX 2.19.1 introduces several new events:

  • TeleportRequestResponseEvent is fired when a player accepts or denies a TPA request. (#3801)
  • UserActionEvent is fired when a player runs /me or /action. (#4520)
  • Discord: DiscordRelayEvent is fired when a message is relayed from Discord to Minecraft, and can be edited or cancelled. (#4656)

For a full commit log, click here.