Modules
EssentialsC officially supports disabling core modules. Turn a system off and it is really gone.
Overview
Nearly every EssentialsC system has an enabled flag in config.yml. Setting one to false fully unloads that module: its manager is never created, its listeners are never registered, and its commands are removed from the server as if the feature never existed.
config.yml
kits: enabled: false
Module toggles are read at startup. After changing one, restart the server -
/essc reload does not turn modules on or off (except economy, see below).
What Happens
When a module is disabled, EssentialsC skips it in three places during startup:
- No manager - no data is loaded and no background tasks are started for that system
- No listeners - none of the module's event handlers are registered (no first-join kits, no respawn-to-spawn, no ban checks, and so on)
- No commands - the module's commands are unregistered from the command map, including the
/essentialsc:namespaced forms. Typing one gives "Unknown command"
Disabling a module never deletes its data. Homes, kits, bans, warps and everything else stay on disk, and re-enabling the module brings them straight back.
This is separate from per-command control in
commands.yml. Turning a single command off there removes just that command while its module keeps running. Turning the module off removes the whole system.
Module List
Every toggleable module, its config key, and which commands disappear when it is off:
| Module | Config key | Commands removed |
|---|---|---|
| Homes | home.enabled |
/home /sethome /delhome /homes |
| Kits | kits.enabled |
/kit /kits |
| Spawn | spawn.enabled |
/spawn /setspawn |
| TPA | tpa.enabled |
/tpa /tpahere /tpaccept /tpdeny /tpcancel /tpaignore /tpatoggle /tpaqueue |
| Punishments | punishments.enabled |
/ban /ban-ip /unban /unban-ip /banlist /mute /unmute /checkpunish |
| Back | back.enabled |
/back /dback |
| Vanish | vanish.enabled |
/vanish |
| Rules | rules.enabled |
/rules |
| Warps | warp.enabled |
/warp /setwarp /delwarp /warps /warpadmin stay registered but answer that warps are disabled |
| AFK | afk.enabled |
/afk /afklist stay registered but answer that AFK is disabled |
| Shop | shop.enabled |
/shop |
| Sell | sell.enabled |
/sell /worth /quicksell |
| Auction House | auction-house.enabled |
/ah (plus the /auction alias) |
| RTP | rtp.enabled |
/rtp |
| Economy | economy.enabled |
/balance /pay /eco /baltop, and the Vault provider is unregistered |
| Nicknames | nickname.enabled |
/nick /realname |
| Scoreboard | scoreboard.enabled |
/scoreboard |
| Chat | chat.enabled |
No single command - formatting, link filtering, slow mode and mentions are all skipped |
| Trash | trash.enabled |
/trash |
| MOTD | motd.enabled |
No commands - the join message is simply not shown |
| Join / Leave Messages | join-leave-messages.enabled |
No commands - join and leave messages are simply not shown |
| Backup | backup.enabled |
No commands - automatic and shutdown backups are skipped |
| DiscordSRV Relay | discordsrv.enabled |
No commands - no server events are forwarded to Discord |
Notes
- Restart to apply. Module toggles only take effect on server start. The one exception is economy, which
/essc reloadcan switch on and off live. - Warps and AFK are older toggles. Their commands stay registered and reply with a "disabled" message instead of vanishing from the command map.
- TPA leaves admin teleports alone. Disabling
tparemoves the request system only -/tphere,/tpherealland/tpofflinekeep working because they never touch the TPA manager. - Punishments leaves
/kickalone. Kick is a one-shot action with no stored state, so it stays available. - RTP has two knobs.
rtp.enabled: falsekills the whole system, whilertp.register-command: falsekeeps it running but unregisters/rtp. - Scoreboard and Folia. The scoreboard is not supported on Folia yet - enabling it there logs a warning and stays off.
- Migration respects toggles.
/migrationwarns about and skips any system that is currently disabled instead of failing. - New keys appear on their own. If your
config.ymlis missing a toggle from an update, it is added automatically with its default value on startup.