Tags
Creators
Details
Published 2 years ago
Updated last week
All versions
1.0.3.8
Release
zEssentials 1.0.3.82 months ago 273
Uploaded by
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
Folia
Paper
Purpur
Spigot
Changes
- Added text mails to the mailbox module, to send a message to a player who is not connected (
modules/mailbox/config.yml):/mail send <player> <message>works with an online or offline player,/mail readdisplays the received mails and marks them as read,/mail clearmessages [player]deletes them and/mail sendall <message>sends a mail to every online player- A player who connects with unread mails is notified with a clickable message (
message-notify-on-join,message-notify-delay) - Configurable limits:
message-max-amountper player,message-max-length,message-cooldownbetween two mails (bypassed withessentials.bypass.cooldown) andmessage-date-format - A muted player cannot send a mail, and a player who used
/ignoreno longer receives the mails of the ignored player - Persistence via a new
user_mail_messagestable (SQLite and MySQL) and inside the user file for the JSON storage, unlike the item mailbox which stays MySQL only - New permissions
essentials.mail.send,essentials.mail.read,essentials.mail.send.allandessentials.mail.clear.messages
- Fixed the build of the
NMS:V26_2module: since Minecraft 26.1 the built in entity types are declared inEntityTypesand no longer inEntityType, soEntityType.BLOCK_DISPLAY,ITEM_DISPLAYandTEXT_DISPLAYcould not be resolved anymore - Fixed
shadowJarfailing withUnsupported class file major version 69— theNMS:V26_2module still builds with a Java 25 toolchain (needed to read the 26.2 dev bundle) but now emits Java 21 bytecode, which the ASM version bundled with the shadow plugin can remap - Added a new custom commands module (
modules/customcommands/config.yml) to create your own commands without any other plugin, for/discord,/map,/vote,/store,/updates...- Each command can define
aliases, apermission, adescription, acooldownin seconds (bypassed withessentials.bypass.cooldown) and a list ofmessages typeselects how the content is displayed:TCHAT,CENTER,ACTION,TITLE,BOSSBARorNONE- MiniMessage, legacy colors and PlaceholderAPI placeholders are supported, so
<click:open_url:'...'>can be used to display clickable links - zMenu
actionscan be run after the messages (sound, command, inventory, ...) - Commands are registered at runtime and
/ezreloadupdates them without duplicating anything; a custom command that would override an existing zEssentials command is refused with a message in the console
- Each command can define
- Added display options for
/seeninmodules/sanction/config.yml—seen-show-uuid,seen-show-ip,seen-show-last-location,seen-show-created-atandseen-show-playtime. The IP address can now be hidden globally, even from operators: until now it was only protected by theessentials.seen.show.ippermission, which an operator always has - Fixed several configuration options being silently ignored: they were declared as
private finalfields with a constant initializer, so javac inlined them at compile time and the value read from the configuration file was never used- Sanction module:
date-format,kick-default-reason,ban-default-reason,mute-default-reason,unmute-default-reason,unban-default-reason - Spawn module:
respawn-listener-priorityandspawn-join-listener-priority— the respawn and join listeners were always registered with theNORMALpriority instead of the configured one (HIGHESTby default) - Worldedit module:
enable-color-visualisationandopen-help-inventory
- Sanction module:
- Clarified the
/compactand/compactalldescriptions to mention their existing/condenseand/condenseallaliases - Fixed the chat ping sound not playing on Paper 1.21.3+ —
org.bukkit.Soundbecame an interface, so the ping sound is now resolved cross-version through the zMenu XSound API (like the teleportation sounds) - Fixed countdown/teleport placeholders (
%name%,%seconds%, ...) showing as raw text when the messagetypeis set toTITLEorBOSSBAR— internal placeholders are now resolved for every message type - Added
/pingsoundcommand (/pingsoundsalias) to toggle the chat ping sound per player; theenable-player-ping-soundglobal toggle is now honored - Added
/tp <player1> <player2>— teleport one player to another player - Added a player ignore system with persistence (
user_ignorestable):/ignore <player>blocks a player's private messages and teleport requests (/tpa,/tpahere)/unignore <player>and/ignorelist(/ignoresalias)- Works for online and offline targets, persists across restarts (MySQL and JSON storage)
- Added
/delhome-other <player> <home>(/delhomeother,/hdelotheraliases) — admin command to delete a specific home of another player (online or offline), with permissionessentials.del.home.other - Added persistence for
/ptimeand/pweather— the per-player time and weather are now saved and re-applied automatically when the player reconnects - Fixed private messages to a vanished player revealing their presence when they had ignored the sender — the vanish check now takes precedence over the ignore check
- Removed the non-functional
itemadders-font-regexchat config options (the feature was never wired) and corrected the/screference in the chat config comment (it is/chathistory) - Added a Homes system enhancement (see
modules/home/config.yml):- Public homes —
/homepublic <home>makes a home visitable by everyone,/publichomes [player]lists them (in chat or a paginated GUI viapublic-homes-display: CHAT|INVENTORY); visit with/home <player>:<home>(permissionsessentials.home.public,essentials.home.visit, configurablemax-public-homes) - Shared homes —
/homeshare <home> <player>,/homeunshare,/homesharesto share a home with specific players (online or offline); shares are purged when the home is deleted (permissionessentials.home.share,max-shared-per-home) - Categories —
/homecategory <home> <category>to organise homes (permissionessentials.home.category), placeholder%category% - Favorites —
/homefavorite <home>to mark a home as favorite;favorite-firstshows favorites at the top (permissionessentials.home.favorite), placeholder%favorite% - Preview — optional
enable-home-previewshows a clickable confirmation before teleporting - Import —
/homeimport essentialsximports homes from EssentialsX (permissionessentials.home.import) - Persistence via new
is_public/category/is_favoritecolumns onuser_homesand a newuser_home_sharestable (MySQL and JSON storage)
- Public homes —
- Updated zMenu to
1.1.1.6and added support for Minecraft/Paper 26.2:- Added a new
NMS:V26_2module (built against the26.2.build.+dev bundle, compiled with Java 25 which Minecraft 26.x requires) - Migrated the whole plugin to Mojang mappings — Paper 26.1+ removed Spigot reobfuscation, so every NMS module now uses
MOJANG_PRODUCTIONand the shaded jar is markedpaperweight-mappings-namespace: mojang - zEssentials is now Paper-only and requires Paper 1.20.5+ — Minecraft 1.20.4 is no longer supported (Mojang-mapped plugins only load on 1.20.5+)
- Replaced the removed zMenu
NmsVersionenum with the newMinecraftVersionAPI for version detection and NMS package resolution (NmsVersionUtils) - Bumped
paperweight-userdevto2.0.0-beta.21
- Added a new
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:B8ICgd4I:cEN9yquk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:B8ICgd4I:cEN9yquk"
}

