EssentialsX 2.19.1 - The Otherside Update Part 2
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:
- AKP
- madscientist032
- @aternosorg
- @pebblehost
- ...plus 26 more 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:
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
and1.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
, 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.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
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 theessentials.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.