
zEssentials
Ultimate Essentials Plugin to Revolutionize Your Minecraft Server!
- Added player list placeholders for retrieving online player information by index (1-based, sorted alphabetically, excludes vanished players):
%zessentials_playerlist_count%Returns the number of visible online players (excludes vanished)%zessentials_playerlist_<index>_name%Returns the player's name at the given index%zessentials_playerlist_<index>_uuid%Returns the player's UUID at the given index%zessentials_playerlist_<index>_ping%Returns the player's ping in milliseconds%zessentials_playerlist_<index>_colored_ping%Returns the player's ping with color based on quality%zessentials_playerlist_<index>_level%Returns the player's experience level%zessentials_playerlist_<index>_health%Returns the player's current health%zessentials_playerlist_<index>_max_health%Returns the player's max health%zessentials_playerlist_<index>_food_level%Returns the player's food level%zessentials_playerlist_<index>_gamemode%Returns the player's game mode%zessentials_playerlist_<index>_world%Returns the player's world name%zessentials_playerlist_<index>_x%Returns the player's X coordinate%zessentials_playerlist_<index>_y%Returns the player's Y coordinate%zessentials_playerlist_<index>_z%Returns the player's Z coordinate%zessentials_playerlist_<index>_displayname%Returns the player's display name%zessentials_playerlist_<index>_is_flying%Returns true if the player is flying%zessentials_playerlist_<index>_is_op%Returns true if the player is operator%zessentials_playerlist_<index>_is_sneaking%Returns true if the player is sneaking%zessentials_playerlist_<index>_is_afk%Returns true if the player is AFK
- Added player list placeholders for retrieving online player information by index (1-based, sorted alphabetically, excludes vanished players):
- Updated zMenu to version 1.1.1.2
- Updated Sarah to version 1.23
- Added generic Bukkit event-based permission checker for WorldEdit module — blocks in protected claims (HuskClaims, GriefPrevention, Lands, Towny, etc.) are now automatically skipped without needing a specific hook #237
- Added configurable sounds for teleportation countdown and completion (
countdown-soundandcomplete-soundinmodules/teleportation/config.yml), supports custom sounds via the zMenu XSound API - Added warp lookup cache with O(1) HashMap for improved performance #239
- Fixed home deletion from donut GUI showing "The home ? does not exist." —
/delhomenow opens the confirmation GUI whenhomeDeleteConfirmis enabled - Fixed cancelled TPA requests still being accepted —
/tpacancelnow properly removes the request from the target player's incoming requests - Fixed vault admin command permission check bypassed for admin access
- Fixed chat URL pattern not matching URLs with special characters (
~,+,#) - Fixed chat link transform regex replacement error with special characters
- Added
/itemframecommand (/iframealias), toggles visibility of the item frame you're looking at - Added Death Message module (
modules/death_message/config.yml):- Three modes: DISABLE (no messages), DEFAULT (vanilla), CUSTOM (configurable)
- Support for player kills, vanilla mobs, and MythicMobs creatures
- Custom messages per death cause (FALL, DROWNING, FIRE, LAVA, etc.)
- Random message selection when multiple messages are configured
- Placeholders:
%player%,%displayName%,%killer%,%mob%,%cause%,%weapon% - Permission
essentials.silent.deathfor silent deaths /deathmessagecommand to toggle death message visibility (/dm,/deathmsgaliases)
- Added MythicMobs hook for custom mob death messages
- Added
/tptogglecommand to toggle receiving teleport requests #226 - Added TPA queue system - accept/deny all requests at once #228
- Added weapon display in death messages with hover event #229
- Fixed Discord pings from Minecraft chat - prevents @everyone and @here mentions #227
- Fixed first spawn not working reliably - now uses
hasPlayedBefore()for accurate detection - Added all missing messages in all language files (EN, FR, DE, ES, IT, NL)
- Added
- Changed
enable-cooldown-bypassdefault value totrueinconfig.yml - Added PayToggle placeholders:
%zessentials_user_is_pay_disabled%Returns true if the player has disabled payments (paytoggle)%zessentials_user_pay_status%Returns the configured placeholder text for pay status
- Added PayToggle placeholder configuration in
modules/economy/config.yml:paytoggle-placeholder-enabled- Text shown when pay is enabledpaytoggle-placeholder-disabled- Text shown when pay is disabled
- Fixed permission registration conflict when reloading - now removes existing permission before re-registering
- Fixed duplicate player name detection - Mojang API lookup now only runs in online mode to prevent issues on offline servers
- Changed
- Updated zMenu to version 1.1.0.9
- Added
force-commandsoption inconfig.yml, allows commands to work even if their module is disabled - Added automatic messages module (
modules/automessage/config.yml), broadcasts configurable announcements at intervals with sequential or random order - Added RTP cooldown configuration with permission-based overrides in
command-cooldowns - Fixed duplicated users in database when a player changes their name
- Fixed
/enderseeerror handling with proper error message (COMMAND_ENDERSEE_ERROR) - Fixed
/enderseeoffline permission check returning wrong result type - Fixed
/home-listadmin command displaying wrong message when the player has no homes - Fixed user lookup query to sort by
updated_atfor correct results with duplicate names - Fixed build compatibility with Java 25 by applying
options.release = 21to all subprojects - Added 66 new placeholders across 3 categories:
Nearest Player Placeholders
%zessentials_nearest_player_name%Returns the name of the nearest visible player%zessentials_nearest_player_distance%Returns the distance to the nearest player%zessentials_nearest_player_direction%Returns the direction arrow (↑↗→↘↓↙←↖) to the nearest player
Player Placeholders
%zessentials_player_health%Returns the player's current health%zessentials_player_max_health%Returns the player's max health%zessentials_player_health_rounded%Returns the player's health rounded to nearest integer%zessentials_player_absorption%Returns the player's absorption hearts%zessentials_player_food_level%Returns the player's food level%zessentials_player_saturation%Returns the player's saturation level%zessentials_player_exhaustion%Returns the player's exhaustion level%zessentials_player_level%Returns the player's experience level%zessentials_player_exp%Returns the player's experience progress (0.0 to 1.0)%zessentials_player_exp_percentage%Returns the player's experience progress as percentage%zessentials_player_total_exp%Returns the player's total experience points%zessentials_player_exp_to_level%Returns the experience required for the next level%zessentials_player_displayname%Returns the player's display name%zessentials_player_uuid%Returns the player's UUID%zessentials_player_locale%Returns the player's client locale%zessentials_player_client_brand%Returns the player's client brand name%zessentials_player_gamemode%Returns the player's game mode%zessentials_player_is_flying%Returns true if the player is currently flying%zessentials_player_allow_flight%Returns true if the player is allowed to fly%zessentials_player_is_sneaking%Returns true if the player is sneaking%zessentials_player_is_sprinting%Returns true if the player is sprinting%zessentials_player_is_sleeping%Returns true if the player is sleeping%zessentials_player_is_op%Returns true if the player is operator%zessentials_player_is_dead%Returns true if the player is dead%zessentials_player_is_swimming%Returns true if the player is in water%zessentials_player_is_blocking%Returns true if the player is blocking with a shield%zessentials_player_is_gliding%Returns true if the player is gliding with elytra%zessentials_player_ping%Returns the player's ping in milliseconds%zessentials_player_colored_ping%Returns the player's ping with color based on quality%zessentials_player_fly_speed%Returns the player's fly speed%zessentials_player_walk_speed%Returns the player's walk speed%zessentials_player_remaining_air%Returns the player's remaining air in ticks%zessentials_player_max_air%Returns the player's maximum air in ticks%zessentials_player_compass%Returns the player's compass direction (N, NE, E, SE, S, SW, W, NW)%zessentials_player_yaw%Returns the player's yaw rotation%zessentials_player_pitch%Returns the player's pitch rotation%zessentials_player_first_played%Returns the date when the player first joined%zessentials_player_last_played%Returns the date when the player last joined%zessentials_player_ticks_lived%Returns the number of ticks the player has lived%zessentials_player_empty_slots%Returns the number of empty inventory slots%zessentials_player_item_in_hand%Returns the material type of the item in main hand%zessentials_player_item_in_offhand%Returns the material type of the item in off hand%zessentials_player_world_time%Returns the time of the player's world in ticks%zessentials_player_world_time_12%Returns the world time in 12-hour format%zessentials_player_world_time_24%Returns the world time in 24-hour format%zessentials_player_world_weather%Returns the weather of the player's world%zessentials_player_has_bed%Returns true if the player has a respawn location set%zessentials_player_bed_world%Returns the world name of the player's respawn location%zessentials_player_bed_x%Returns the X coordinate of the player's respawn location%zessentials_player_bed_y%Returns the Y coordinate of the player's respawn location%zessentials_player_bed_z%Returns the Z coordinate of the player's respawn location
Server Placeholders
%zessentials_server_online%Returns the number of online players%zessentials_server_max_players%Returns the maximum number of players%zessentials_server_safe_online%Returns the number of non-vanished online players%zessentials_server_unique_joins%Returns the total number of unique players%zessentials_server_tps%Returns the server TPS (1 minute average)%zessentials_server_tps_5%Returns the server TPS (5 minute average)%zessentials_server_tps_15%Returns the server TPS (15 minute average)%zessentials_server_tps_colored%Returns the server TPS with color indicator%zessentials_server_free_memory%Returns the free memory in MB%zessentials_server_max_memory%Returns the max memory in MB%zessentials_server_used_memory%Returns the used memory in MB%zessentials_server_total_memory%Returns the total allocated memory in MB%zessentials_server_world_players_<world>%Returns the number of players in a specific world%zessentials_server_world_time_<world>%Returns the time of a specific world in ticks%zessentials_server_world_weather_<world>%Returns the weather of a specific world
User Placeholders
%zessentials_user_is_vanished%Returns true if the player is vanished%zessentials_user_is_frozen%Returns true if the player is frozen%zessentials_user_is_ban%Returns true if the player is banned%zessentials_user_ban_reason%Returns the ban reason%zessentials_user_ban_duration%Returns the remaining ban duration in seconds%zessentials_user_ban_duration_formatted%Returns the remaining ban duration formatted%zessentials_user_mute_reason%Returns the mute reason%zessentials_user_fly_formatted%Returns the remaining fly time formatted%zessentials_user_afk_duration%Returns the AFK duration in seconds%zessentials_user_afk_duration_formatted%Returns the AFK duration formatted%zessentials_user_home_list%Returns a comma-separated list of home names%zessentials_user_home_<index>%Returns the home name by index (1-based)%zessentials_user_home_<index>_<w/x/y/z>%Returns the home location info by index%zessentials_user_vote_offline%Returns the number of offline votes%zessentials_user_pm_recipient%Returns the name of the last private message recipient
- Updated zMenu to version 1.1.0.8
- Added /lightning command to strike players with lightning
- Added * argument for /heal and /feed commands to target all players
- Added player name tab completion for /heal and /feed commands
- Added relative directions (north, south, etc.) to /near command
- Added smooth time transition for /day and /night commands
- /feed command now restores saturation
- /ext command can now target other players
- Fixed temporary fly when changing world through portals
- Fixed personal time from progressing
Added NMS support for Minecraft 1.21.9, 1.21.10 and 1.21.11 Added configurable join MOTD Fixed somes messages Fixed webhook verification when discord module is disable
Fix some errors (npe and economy check) Added option for kits Added new default kits
Added the /vanish command allowing players to become invisible to others. Added the /eco reset-all
command allowing a full reset of a specific economy. Added the /vault get [ ] command allowing retrieval of an item from a player’s vault. Added the /vault delete command allowing deletion of an item from a player’s vault. Added the /mail give-hand command allowing the player to give the item in their hand to another player. Added the /mail giveall-hand command allowing the player to give the item in their hand to all players. Added the /afk command allowing players to set themselves as AFK. Added a message informing the sender when the recipient is AFK upon receiving a private message. Added the %zessentials_user_is_afk% placeholder returning whether a player is AFK (true or false). Added the %zessentials_user_status% placeholder returning the player’s status value defined in the configuration. Improved placeholder configuration. Fixed the Discord bot Gradle module. Fixed offline player handling, ensuring players who have never joined are properly created when receiving an action. Fixed the /spawn command which now works without a cooldown. Fixed translation files. Fixed the vault system. Fixed vote party behavior. Update to Sarah 1.20. Added MARIADB support Added command /lag, allow you to see the lag of the server Added command /flyspeed
, change player's fly speed Added command /walkspeed , change player's walk speed Added command /vault info , display player's vault information Added command /vault show , open player's vault Added command-restrictions, Allows disabling commands in specific worlds or areas (cuboids) Fix vault item slot button Fix fly on world change Fix give command when the player is not specified Fix scoreboard module Improve performance Added support of 1.21.5, 1.21.6, 1.21.7 and 1.21.8 #182 Added permission for each element in the /seen command #160 Added teleport damage protection Added %zessentials_user_custom_balence_
% placeholder Added %zessentials_custom_formatted_number % placeholder Added itemsadder support for economy font Added PlaceholderAPI support for private messages Added WayPoint helper, only for developers now Added /phantoms, allow you to disable phantom for only you Fix placeholders errors Fix god command #184 Fix kit module with armor slots Fix fly task if the player is in creative or spectator mode Fix discord webhook errors Fix error with death message if spawn location is not found #167 Prevent teleport to coordinates outside world bounds #186 Update to zMenu 1.1.0.0 Added WorldGuard hook Fix error with scoreboards Fix hologram when world is not loaded
Fix vault economy with player's name Fix discord webhook configuration Rework steps module. The information is more complete and accurate. Added NChat Hook Added default option value in config.yml
Rework kit. A kit now has its own configuration file present in the modules/kits/kits doser. You can set a cooldown by permission with permission-cooldowns You can define a permission with permission, by default the permission is : essentials.kit.
You can define the items that will be present in players' armor slots Updated kit documentation to include all necessary information. Added the ability to add color to sign text. Added /experience take
<level/experience>, Take experience to player. Added a message to tell the player account of flight time they have left. Added /kitgive . Added world back blacklist. Added NuVotifier hook. Fixed scoreboard in 1.21.5 #172 Fixed offline give money. Fixed offline players name for tabulation. Fixed heal command when you have night vision. Update Hologram API (change ZHologramLine to HologramLine). Change command /cooldown to /cooldown show . Disable /invsee with offline players. Added AFK module. Added /experience grand-random
<level/experience>, Grant experience to player. Added first spawn location (/setfirstspawn) #168 Added default reason for economy commands Added /w aliases for private message command Added %zessentials_armor_name_ %, Returns the name of the player’s armor, without the color Added default home icon configuration #170 Added a message for /rtp command Fixed spigot attribute Fixed discord webhook Fixed default messages files Fixed Vault. Added /home-list
[ ], Allows you to view a player’s home list. Added /mailbox clear , Removes items from the players mailbox. Added the permission record when creating orders. This allows players not to access commands that do not have permission with the tab. This also allows plugins like LuckPerms to retrieve the plugin’s permissions list. Added a kit list to give players when they first log in. Fixed Vault implementation #164 Added global database configuration (Allows you to have a single database configuration file for multiple plugins) Added item display transformation for holograms Added option type button. Allows toggling an option Fixed multi-line support for the scoreboard Added support for the HuskHome database for data conversion Moved modules into the modules package Added custom model data for open and closed vault items Fixed the Gradle project. This allows for proper use of NMS Fixed permission to teleport to a warp
Added 1.21.4 NMS support Added BlockTracker for Player WorldEdit. Added a cache system for updating certain data in batches. This greatly reduces the number of SQL queries executed.. Added a list of UUID blacklist from your server. It will no longer be able to connect. Added newline support for scoreboard lines with \n. Fixed command /vault give, using the correct value for the player name. Fixed loading of messages with placeholder replacement. Added the /pub command, allowing you to send a message to the chat. Added a reason for economy commands. A default value is added and can be configured. Added a history module for private messages between players. Added a module step which allows you to save player data (statistics and custom data). This allows you to analyze your players' behavior more effectively, such as how long it took them to reach a key milestone in your server. Fixed messages for time display. Removed the non-configurable space. Improved SQL queries for private message history, command history, chat history and transaction history. Using a single SQL query instead of multiple ones for the same action. Improved vote module configuration. You can define different rewards based on the number of player votes.
- Added a cache for the nicknames of offline players.
- Added an option to disable the list of offline player usernames in the completion tab for certain commands.
- Added
vault-slot-type, allowing you to define how vault slots are counted. - Added
teleport-at-spawn-on-join, enabling player teleportation to spawn upon joining. - Fixed placeholders in messages.
- Fixed the
/skullcommand and added support for hexadecimal format. - Fixed default vault slot assignment by permission.
- Fixed duplicate keys in power tools.
- Fixed the SQL table for player slots.
- Fixed the button to reset vault names.
- Fixed title messages.

