Skip to main content

Hooks & Integrations

zEssentials provides optional integrations with third-party plugins to extend its functionality. These hooks are loaded automatically when the corresponding plugin is detected on the server, unless otherwise noted.


Vault

Exposes the zEssentials economy system through the Vault API, allowing other plugins to interact with player balances using the standard Vault Economy interface.

  • Loaded in: onLoad() (before other plugins initialize)
  • Supported methods: getBalance, deposit, withdraw, has, format, and all other standard Vault Economy methods
  • Bank support: Not supported
  • Requirement: The economy module must be enabled in zEssentials configuration

When Vault is present and the economy module is active, any plugin that depends on Vault for economy operations will automatically use zEssentials as the economy provider.


Redis

Enables multi-server communication via Redis pub/sub, allowing zEssentials instances across multiple servers to synchronize data and actions in real time.

Configuration

Redis is configured in the main config.yml:

server-type: REDIS

redis-configuration:
host: "127.0.0.1"
port: 6379
password: ""

Set server-type to REDIS to activate multi-server mode.

Features

  • Cross-server private messages
  • Cross-server broadcasts
  • Cross-server kicks
  • Cooldown synchronization between servers
  • Chat clear and chat toggle synchronization
  • Player list synchronization via Redis SET

Technical Details

PropertyValue
Pub/Sub channelessentials:messages
Player tracking keyessentials:playerlist

Message Types

zEssentials uses 7 message types for inter-server communication:

Message TypeDescription
KickMessageKicks a player across servers
ServerMessageSends a broadcast to all servers
ChatClearClears chat on all servers
ChatToggleToggles chat state on all servers
ServerPrivateMessageDelivers a private message cross-server
ClearCooldownClears a specific cooldown across servers
UpdateCooldownSynchronizes cooldown timers across servers

WorldGuard

Integrates with WorldGuard to block permission checking in protected regions. When a player attempts to perform an action in a WorldGuard-protected region, zEssentials checks the BLOCK_BREAK flag to determine whether the action is allowed.

  • Auto-loaded: Yes, if WorldGuard is present on the server
  • No additional configuration required

SuperiorSkyblock2

Integrates with SuperiorSkyblock2 to block permission checking on islands. zEssentials verifies island membership and range before allowing certain actions.

  • Auto-loaded: Yes, if SuperiorSkyblock2 is present on the server
  • Checks performed:
    • isMember() -- verifies the player is a member of the island
    • isInsideRange() -- verifies the action occurs within the island boundaries
  • No additional configuration required

NuVotifier

Integrates with NuVotifier to receive vote notifications. When a player votes on a server list site, NuVotifier fires a VotifierEvent which zEssentials listens to and records in its vote tracking system.

  • Auto-loaded: Yes, if Votifier is present on the server
  • No additional configuration required

Votes received through NuVotifier are fed into the zEssentials vote module, contributing to per-player vote counts and vote party progress.


NChat

Integrates with NChat to enforce mute sanctions on both public and private messages. When a player is muted through zEssentials, the mute is also applied to NChat message channels.

  • Auto-loaded: Yes, if NChat is present on the server
  • Event priority: HIGHEST
  • Enforced on: Public messages and private messages
  • No additional configuration required

BlockTracker

Integrates with BlockTracker to track block modifications made by players. This is useful for features that need to distinguish between naturally generated blocks and player-placed blocks.

  • Auto-loaded: Yes, if BlockTracker is present on the server
  • Methods:
    • isTracked() -- checks whether a block has been modified by a player
    • track() -- marks a block as modified by a player
  • Fallback: If BlockTracker is not installed, zEssentials uses a DefaultBlockTracker implementation where isTracked() always returns false

ProtocolLib

Integrates with ProtocolLib to intercept SYSTEM_CHAT packets and add clickable command suggestions to chat messages.

  • Auto-loaded: Yes, if ProtocolLib is present on the server
  • Packet intercepted: SYSTEM_CHAT
  • Pattern: ./command -- text matching this pattern in chat messages becomes clickable, suggesting the command when clicked

Configuration

Configured in modules/chat/config.yml under the command-placeholder section:

command-placeholder:
enabled: true
# Additional settings for command suggestion behavior

AxVaults

Provides data migration from AxVaults to the zEssentials vault system. This is not a runtime integration but a one-time migration tool.

  • Usage: Accessed via the built-in converter command
  • Purpose: Migrates existing AxVaults player vault data into zEssentials vaults

To migrate data from AxVaults, use the zEssentials converter command and select AxVaults as the source.

Copyright © 2026 GroupeZ|Build #loading...|-