Integrations
External plugin support - Vault, LuckPerms, PlaceholderAPI, DiscordSRV, TAB, and Floodgate.
Overview
EssentialsC detects supported plugins at startup and hooks into them automatically. No extra configuration is required to enable a hook - just have the plugin loaded before EssentialsC starts. If a plugin is added later, a server restart is needed for the hook to activate.
Vault
When Vault is present, EssentialsC registers itself as the economy provider. Any plugin that reads balances through Vault will automatically use EssentialsC's economy.
The Vault hook is read-only in the sense that EssentialsC's own commands (balance, pay, eco, baltop) are always used for economy management. External plugins that use Vault's economy API will read and write to EssentialsC's balance storage without any additional configuration.
LuckPerms
LuckPerms integration provides group-based chat formatting. Each LuckPerms group can have a custom chat format defined in config.yml under chat.formats. The format string supports MiniMessage and the %luckperms_prefix% and %luckperms_suffix% placeholders.
EssentialsC reads LuckPerms metadata asynchronously and falls back gracefully if LuckPerms is absent. The chat format for a player is determined by their primary group. If no matching format is found, the default format is used.
chat: formats: default: "<gray>[<white>%luckperms_prefix%<gray>]<white> %player_name%<gray>:<white> %message%" admin: "<red>[<gold>%luckperms_prefix%<red>]<gold> %player_name%<gray>:<white> %message%"
PlaceholderAPI
Installing PlaceholderAPI automatically registers the EssentialsC expansion, exposing over a dozen placeholder categories for use in scoreboards, nametags, tab lists, and any other PAPI-compatible plugin.
Use placeholders in the format %essc_<placeholder>% in any PAPI-compatible plugin. The full placeholder list can be viewed in-game with /essc placeholders or /papi parse me %essc_...%.
| Category | Example Placeholders |
|---|---|
| Economy | %essc_balance%, %essc_balance_formatted% |
| AFK | %essc_afk%, %essc_afk_duration%, %essc_afk_status% |
| Home | %essc_homes%, %essc_homes_max%, %essc_homes_remaining% |
| Kit | %essc_kit_<name>_cooldown%, %essc_kit_<name>_available% |
| Vanish | %essc_vanished% |
| Nickname | %essc_nickname%, %essc_nickname_formatted% |
| Playtime | %essc_playtime% |
| Punishment | %essc_punishment_ban%, %essc_punishment_mute% |
| Warp | %essc_warps%, %essc_warp_<name>_cost% |
| TPA | %essc_tpa_requests% |
| RTP | %essc_rtp_cooldown% |
| Shop | %essc_shop_<category>_count% |
| Auction | %essc_auction_listings% |
DiscordSRV
DiscordSRV integration forwards server events to your Discord server through configurable channels. EssentialsC provides detailed event hooks that fire whenever a significant action occurs.
| Event | Description |
|---|---|
| Ban | When a player is banned. |
| Ban-IP | When an IP address is banned. |
| Kick | When a player is kicked. |
| Mute | When a player is muted. |
| Kit Claim | When a kit is claimed. |
| Home Set | When a home is set. |
| Home Delete | When a home is deleted. |
TAB
TAB integration provides custom tab list formatting with player prefixes, suffixes, and server-specific layouts. EssentialsC hooks into TAB to display rank information, balance, and custom placeholders in the player list.
The integration uses TAB's native placeholder system and adds EssentialsC-specific replacements. Player names in the tab list are updated to reflect nicknames, AFK status, and vanish state.
Floodgate
Floodgate support allows Bedrock players (connecting through Geyser) to use EssentialsC commands and features seamlessly. Player data is handled correctly across Java and Bedrock editions, with proper UUID resolution for Geyser-connected players.
Bedrock players see the same messages, GUIs, and command output as Java players. Their nicknames, homes, warps, and economy data are stored using their Bedrock UUID, so switching between editions is not possible for the same account.
Metrics
EssentialsC uses bStats for anonymous usage statistics. The data collected includes server version, Java version, plugin version, and enabled features. This helps the developer understand which features are most used and which server platforms are most common.
bStats can be disabled in config.yml by setting metrics.enabled: false, or globally in /plugins/bStats/config.yml. No personally identifiable information is collected.