![EssentialsC [1.17-1.26.+ | Folia Support ]](https://cdn.modrinth.com/data/K7HZMVgx/0b642a0b40514221680fa711dbcddb47cc7255ad_96.webp)
EssentialsC [1.17-1.26.+ | Folia Support ]
Paper, Purpur, Leaf Support, Kits, Homes, Auction, Shop, 30+ Languages supported, full Command control, EssentialsX migration Support, Open Source, Weekly Updates, Hooks into 5+ Plugins, and more.
Changelog
[Update] the rtp system to handle world names wich spaces correctly
[Fix] the AFK Title not getting removed on quit
[Added] a new
/enchantconfig option:# Enchant # # Settings for the /enchant command. enchant: # Should the /enchant command be able bypass the vanilla limit ? allow-unsafe: false[Add] a bypass permission for the enchant config option:
essentialsc.enchant.unsafe: description: Allows bypassing the vanilla enchant limit ( config option ignored ) default: op[Fix] rtp worlds reappearing when deleted from the config.yml
[Add] a
/trashconfirmation GUI[Update] the motd system to send configurable messages on join
[Update] Join/Leave messages to no longer fall back to vanilla j/l messages when disabled in the config.yml
[Fix] broken member kit cooldown
[Add] a new
essentialsc.home.mountpermission which allows you to teleported to your home when mounted on other entities[Update]
/home+/homesmessages and added a new config option# The home name to teleport to when typing /home with no arguments. # Set to "" (empty) to show the home list instead. # This overrides GUI mode — players will teleport directly. default-teleport-name: ""[Update]
/playerlistwith cleaner messages + pagination System[Update] the command help system
[Fix]
/invseenot working on offline players[Fix] AFK Move detection logic
[Fix] NullPointerException when using the auction house while the economy is disabled
Changelog
[Add]
cooldown:andcooldown-bypass:option forcommands.ymlworth: enabled: true priority: normal aliases: [] cooldown: 10 # 10 Seconds cooldown-bypass: essentialsc.worth.bypass-cooldown[Add] a Kit GUI mode option
kits: # How players interact with the kit list. # "command" — players type /kits to see a chat list. # "gui" — /kits opens an inventory GUI showing all available kits. mode: gui # Play sounds when opening, claiming, turning pages, or closing the GUI. sounds: true- The GUI is configurable in
guis/kit_list.yml - Kits now also have two new options:
gui-slot: 10 gui-icon: "CHEST"[Fix]
/balancenot updating
[Update] SellGUI to be Non-Italic [Fix] default Shop categories + items not loading- The GUI is configurable in
Changelog
[Fix] Punishments not getting saved properly when shutting down the server
[Fix] Join/Leave Message not beeing broadcasted to the Console
[Add]
/suicidecommand[Add] new
isCurrencyBeforeAmountconfig option ( undereconomy)[Add] a new kit claim cooldown bypass permission
essentialsc.kits.cooldown.bypass( all )essentialsc.kits.cooldown.bypass.<kit>( per-kit )[Add] new
essentialsc.baltop.exemptpermission[Fix] missing name placeholder in
/kits[Add] new nick permissions
essentialsc.nick.color`essentialsc.nick.format``[Add] PlaceholderAPI Support to Join / Leave Messages
[Add]
potion-typeoption to Kits[Add] new
essentialsc.home.bedpermission[Add]
/trashChangelog
Added proper shutdown to all managers
Added way better config migration
Updated the scoreboard and fly manager to store data in the user database
Replaced all remaining hardcoded messages with language keys
Fix using
plugin.getServer().getScheduler()instead of theEssSchedulerFixed the
kit.list.entrylanguage keyUpdated
/essc placeholderswith pagination supportOptimized and reworked the Chat System
Fixed the Shop Spawners not working in Survival
Added new bstats charts
Fixed shop delay
Fixed shift clicking items into the Shop GUI
Changelog
Added a lot of new placeholders (
/essc placeholders)Note: You need to have PlaceholderAPI installed to use placeholders.
Added a
helptab completer to every command, which sends a help menu when triggered.Made the Home GUI items non-italic.
Made the Auction GUI items non-italic.
Added kit notifications (toggle with
/kits notifications toggle).Added offline player support to all moderation commands (
/ban,/unmute, etc.).Made the Auction and Shop GUIs fully configurable in
/plugins/EssentialsC/guis.Added better crash handling to the plugin.
Added a new user system. All user data is now stored in a
users.dbdatabase. This update also includes a one-time YAML-to-database migrator for migrating data from versions earlier than4.1.6.Added
/essc dump.Fixed duplicate
/realnameregistration.Note: For this update, I recommend backing up the EssentialsC Folder.
Changelog
This Version adds full Folia Support !
Fixed the ChatManager
**Fixed the FlyManager
Fixed the Spawn Manager
Fixed the Tpa Particles
Removed Invalid permissions
Added null check to the
/invseecommandFixed the TAB Manager throwing an Exception if Luckperms hasnt finished loading
Added
/dback( Teleports you back to your last death Location )Fixed the nick validation check
Changelog
Fixed the broken heal language key
Added Home Tab completion (
Command Mode) + fixed the broken PlaceholdersMade Kit Lorelines, Names, etc. Non-Italic
Added a SellGUI:
/worth <hand/Inventory>to check how much an Item is worth/quicksell <hand/Inventory>to quickly sell Items/sellto open the SellGUI
Fixed the duplicated displaynames when using TAB ➚
Fixed DiscordSRV messages being sent twice
Made the auction house translatable
Added a fallback language:
# The fallback language used if a message is missing in the selected language file. # Must match a file in the lang/ folder (e.g. en_US -> lang/en_US.json). fallback-language: en_USUpdated the default join/leave Messages and added other options:
# Whether vanished players should be hidden from other players. hide-vanished: true # Message broadcast when a player joins the server for the first time. # Supports MiniMessage formatting (e.g. <yellow>, <player>). first-join: "<#F5CF27><b>Welcome!<reset> <#F8DC63><player> just joined for the first time!"Fixed the config migration
Removed the Chat Seperator config option
Fixed the
isBackupEnabledconfig optionFixed the economy + tpa config options
Added new
/flyconfig options:# Whether a player's fly status should be saved and persist between sessions. persistent: true # Whether to automatically restore fly mode when the player rejoins the server. restore-on-join: trueAdded
/broadcastconfig options:broadcast: # Prefix prepended to all broadcast messages. Supports MiniMessage. prefix: "<#333333>[<#F55E27>Broadcast<#333333>] <white>"Added new
/spawnconfig options:# Whether players should be teleported to the configured spawn on respawn. teleport-on-respawn: true # Whether beds can override the spawn location. # If false, players will always respawn at the configured spawn. allow-beds-to-override: trueAdded new Chat config options:
chat: slow-mode: # Whether chat slow mode is enabled. enabled: false # Delay (in seconds) players must wait between sending messages. delay-seconds: 3 # Caps lock prevention - converts messages with too many uppercase letters to lowercase. # Threshold is the ratio of uppercase letters (0.0 to 1.0, e.g. 0.7 = 70%). capslock-threshold: 0.7 # Whether to strip MiniMessage color formatting from console output. strip-colors-from-console: true mention: # Whether player mentions in chat are enabled. enabled: true # Format used when a player is mentioned. # Available placeholder: <player> # Supports MiniMessage formatting. format: "<#4BA8DE><player><reset>"Added new Auction house config options:
# Whether enchanted books are allowed to be sold. allow-enchanted-books: false # List of materials that cannot be sold. # Use Bukkit material names (e.g. DIAMOND, NETHERITE_INGOT). blacklisted-materials: - DRAGON_EGG - BEACON - NETHER_STAR # Whether to notify the player when they successfully sell items. notify-on-sale: trueAdded* new
/nickconfig options:# Whether to show the player's real username when hovering over their nickname in chat. show-realname-on-hover: true # Format for the hover text when hovering a nickname in chat. # Available placeholders: <realname>, <nick>, <prefix>, <suffix> hover-format: "<gray>Real name: <white><realname>" # Whether clicking a nickname in chat suggests the /msg <player> command. click-suggest-msg: trueChangelog
Read me! All databases ( except
warps) are now located in theEssentialsC/databasefolder. The data is NOT lost, it just moved !
Added
commands.ymlto manage all EssentialsC related commands:ping: enabled: true priority: normal aliases: [] playtime: enabled: true priority: normal aliases: [] vanish: enabled: true priority: normal aliases: []Added a MOTD System ( Change the MOTD in the
motd.txtfile )Info --> Your current MOTD will be replaced with "
Change this in the motd.txt file"Added a schedule system that allows you to run commands, play sounds, etc. at a specific time. Example:
restart-warning: enabled: false time: "23:50" actions: - type: broadcast message: "<#FF4444><b>⚠ <reset><#FFCCCC>The server will restart in <#FF4444><b>10 minutes<reset><#FFCCCC>. Please find a safe spot and log off!" - type: title title: "<#FF4444><b>Restart in 10 min" subtitle: "<#AAAAAA>Find a safe spot and log off" fade-in: 10 stay: 120 fade-out: 20 - type: actionbar message: "<#FF4444>⚠ <#FFCCCC>Server restarting in <#FF4444>10 minutes" - type: sound sound: BLOCK_NOTE_BLOCK_BASS volume: 1.0 pitch: 0.5Added a Backup system that allows you to backup all EssentialsC files.
/essc backupbackup: # Set to false to disable the backup system entirely. enabled: true # Maximum number of backups to keep in the backups/ folder. # Once this limit is exceeded, the oldest backup is deleted automatically. # Set to -1 to keep all backups and never delete any. keep-last: 10 # Create a backup automatically when the server shuts down. on-shutdown: trueAdded
/banipAdded
/banlistAdded
/tpofflineChange
essentialsc.healdefault tofalseChangelog
Added a
/rulescommandFixed the Nether RTP
Added a
/spawnentitycommand with a configurable spawn limit:spawnentity: max-amount: 10Fixed the
config.ymland all language files (/lang/) not updating after installing the latest VersionPlayers with the
essentialsc.vanish.seecan now see vanished players in the TAB and ingameAdded offline Player support for
/invseeAdded a
/playerlistcommand with configurable options:playerlist: show-luckperms-prefix: true players-per-line: 10Added a
/tphereallcommandChangelog
Added a home GUI:
- Manage offline and online players
- Modify other players' homes
- Rename, remove, delete, or set any player's homes
- Switch between
commandandguimode in theconfig.yml
Fixed the vanish system and added 2 new permissions:
- essentialsc.vanish.onjoin – Automatically toggles vanish when the player joins the server
- essentialsc.vanish.see – Allows the player to see other vanished players
Added a
/tpherecommandAdded an
/itemidcommandAdded custom bStats economy charts
Changelog
Bump
plugin.ymlversion to 4.1.1Changelog
Bedrock users can no longer use Nicknames
Added a configurable nick indicator:
indicator: "~"Added custom world support for
/rtpAdded support for TAB ➚
Added nick placeholders:
%essc_nick_name% %essc_nick_plain% e%essc_nick_formatted% %essc_nick_has_nick%Fixed the shop GUI bugging and overriding other GUIs
EssentialsCEconomy now uses
public void onLoad()instead ofpublic void onEnable()Added a configurable chat format:
chat-format: '<DISPLAYNAME> &7» &f<MESSAGE>Improved the EssentialsX migration tool
Fixed the DiscordSRV hook not sending messages

Fixed the messages getting send twice in the console
Enjoy :) Join ;D
Changelog
Have suggestions, ideas, or want to request a new language? Join the Discord: https://discord.gg/SMGGrHbbEW
It is recommended to regenerate your config.yml to get all the latest changes. If you'd rather not, visit the GitHub to view the new config and manually copy over only the new options: Click
Added
- Legacy Color Support - Added legacy color code support for the scoreboard
- RTP System - Brand new
/rtp(Random Teleport) command with full configuration - LuckPerms TAB Integration - Added support for LuckPerms prefixes in the TAB list
- Luxembourgish Language - Added
LU_lb.jsonas a supported language file - New DiscordSRV Events - Extended DiscordSRV integration with new message hooks
- Mute events
- SetHome events
- DelHome events
- Kit claim events
- Auction House Rework - Completely overhauled the auction house system
- Sell history
- Buy history
- Sound effects
- Refresh button
- General improvements & polish
- (also added the missing language keys)
Changed
- Config Migration - Moved
chat.luckperms-enabled→luckperms.chat-formatting - Message Files - Updated all message files with new colors and improved prefixes
- Scoreboard Layout - Updated the default scoreboard layout
- Shop - Added config option to completely disable the shop
Fixed
- Fixed
/nick resetcommand not working correctly - Fixed custom nicknames not showing in the TAB list
- Fixed shop items retaining lore lines and display names from the shop config after purchase
- Fixed shop
config.ymlentries for currency name (singular & plural) and main menu title
New & Updated Configuration Options (
config.yml)luckperms: chat-formatting: true # Moved from 'chat.luckperms-enabled' tab-formatting: true # New option shop: enabled: true # Set to false to fully disable the shop rtp: # Completely disable the /rtp command (will unregister from command map) register-command: true enabled: true # Teleport settings cooldown: 60 # seconds warmup: 5 # seconds, 0 to disable cancel-on-movement: true particles: true max-attempts: 10 min-y: 64 max-y: 128 use-world-border: true # Global defaults (used if per-world settings are not specified) global: min-radius: 1000 max-radius: 10000 blocked-biomes: - ocean - deep_ocean - river # Per-world settings worlds: world: enabled: true min-radius: 1000 max-radius: 10000 blocked-biomes: [] world_nether: enabled: true min-radius: 500 max-radius: 5000 blocked-biomes: [] world_the_end: enabled: true min-radius: 1000 max-radius: 8000 blocked-biomes: [] discordsrv: enabled: true # Channel configuration # The 'name' field references a channel name defined in DiscordSRV's config.yml channels: punishments: name: "punishments" # Must match a key in DiscordSRV's Channels section # Event-specific settings events: ban: enabled: true color: "#E74C3C" kick: enabled: true color: "#F39C12" mute: enabled: true color: "#9B59B6" kit: enabled: true color: "#3498DB" home: enabled: true color: "#2ECC71" home_delete: enabled: true color: "#E74C3C" # Avatar settings show-avatar: true avatar-url: "https://crafthead.net/helm/{uuid}"Changelog
Added
- DiscordSRV Integration - Full support for DiscordSRV
- Automatic hook registration with DiscordSRV API
New Configuration Options (
config.yml)discordsrv: enabled: true channels: punishments: name: "punishments" # References DiscordSRV Channels section events: ban: enabled: true color: "#E74C3C" kick: enabled: true color: "#F39C12" show-avatar: true avatar-url: "https://crafthead.net/helm/{uuid}"
Example

- DiscordSRV Integration - Full support for DiscordSRV
Changelog
Fixed the
/kitscommandAdded Luckperms support:
The prefix + suffix now get formatted in the chat Toggable in the
config.ymlfile:chat: luckperms-enabled: trueRemoved the invalid
config.ymloption:migration: enabled: trueChangelog
Added EssentialsX → EssentialsC migration system
Added
/migration statuscommand to detect existing EssentialsX data and verify manager availabilityAdded
/migration essentialsx --dry-runpreview mode to simulate migration without writing dataAdded validation phase that checks worlds, counts files, detects missing data, and ensures required managers are loaded
Added configurable migration flags:
--no-economy,--no-homes,--no-warps,--no-nicks,--no-mutes,--no-bans--only-warps,--only-bans,--only-mutes--overwrite,--rename-conflicts,--abort-on-conflict
Added full warp migration support:
- Transfers location (
world,x,y,z,yaw,pitch) - Preserves permission, cost, and hidden status
- Migrates description and category metadata
Added user data migration from
userdata/*.yml:- Economy balances with automatic UUID-based account creation
- Homes for all players (including offline players)
- Nickname conversion from legacy color codes to MiniMessage format
- Active mute data including reason, source, and expiration
- Back/last location when available
Added ban migration from
banned-players.json:- Transfers UUID, name, reason, source, and expiration
- Automatically skips expired or revoked bans
Added offline player migration support:
- Homes inserted directly into the database (no Player object required)
- Economy handled via UUID lookups
- Nicknames stored and applied on next join
Added structured multi-phase migration workflow:
- Validation — checks worlds, detects issues, verifies managers
- Warps — transfers warp data and metadata
- Users — migrates economy, homes, nicknames, and mutes
- Bans — imports and filters ban records
Added advanced conflict handling options to prevent accidental overwrites
Added progress tracking with percentage and ETA during migration
Added detailed post-migration report:
- Migrated / skipped / failed counts
- Warning list for partial failures
- Clear visibility into what changed
Improved large dataset handling using direct database insertion for faster and safer migrations
Changelog
Added
@everyone/*to the/ecocommand | #536f63dExample:
/eco give @everyone 100Changed
/ecocommand permissions | #536f63d/eco give - ---> essentialsc.eco.give
/eco take - ---> essentialsc.eco.take
/eco reset - ---> essentialsc.eco.reset
/eco set - ---> essentialsc.eco.set
/eco - @everyone ---> essentialsc.eco.everyoneFixed the afk broadtcast message | #f51a272
Fixed the auction config.yml checks | #29761ec

