nineMinecraft is a joke site.
nineMinecraft is in no way affiliated with Modrinth or 9minecraft. (And frankly, who wants to be affiliated with the latter?)
Filter loader...
Filter versions...
Filter channels...

Changelog


[Update] the rtp system to handle world names wich spaces correctly

[Fix] the AFK Title not getting removed on quit

[Added] a new /enchant config 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 /trash confirmation 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.mount permission which allows you to teleported to your home when mounted on other entities

[Update] /home + /homes messages 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] /playerlist with cleaner messages + pagination System

[Update] the command help system

[Fix] /invsee not working on offline players

[Fix] AFK Move detection logic

[Fix] NullPointerException when using the auction house while the economy is disabled

Changelog


[Add] cooldown: and cooldown-bypass: option for commands.yml

worth:
  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] /balance not updating
[Update] SellGUI to be Non-Italic [Fix] default Shop categories + items not loading

Changelog


[Fix] Punishments not getting saved properly when shutting down the server

[Fix] Join/Leave Message not beeing broadcasted to the Console

[Add] /suicide command

[Add] new isCurrencyBeforeAmount config option ( under economy )

[Add] a new kit claim cooldown bypass permission

essentialsc.kits.cooldown.bypass ( all ) essentialsc.kits.cooldown.bypass.<kit> ( per-kit )

[Add] new essentialsc.baltop.exempt permission

[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-type option to Kits

[Add] new essentialsc.home.bed permission

[Add] /trash

Changelog


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 the EssScheduler

Fixed the kit.list.entry language key

Updated /essc placeholders with pagination support

Optimized 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 help tab 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.db database. This update also includes a one-time YAML-to-database migrator for migrating data from versions earlier than 4.1.6.

Added /essc dump.

Fixed duplicate /realname registration.

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 /invsee command

Fixed 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 Placeholders

Made 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
  • /sell to 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_US

Updated 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 isBackupEnabled config option

Fixed the economy + tpa config options

Added new /fly config 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: true

Added /broadcast config options:

broadcast:
  # Prefix prepended to all broadcast messages. Supports MiniMessage.
  prefix: "<#333333>[<#F55E27>Broadcast<#333333>] <white>"

Added new /spawn config 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: true

Added 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: true

Added* new /nick config 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: true

Changelog


Read me! All databases ( except warps ) are now located in the EssentialsC/database folder. The data is NOT lost, it just moved !


Added commands.yml to 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.txt file )

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.5

Added a Backup system that allows you to backup all EssentialsC files. /essc backup

backup:
  # 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: true

Added /banip

Added /banlist

Added /tpoffline

Change essentialsc.heal default to false

Changelog


Added a /rules command

Fixed the Nether RTP

Added a /spawnentity command with a configurable spawn limit:

spawnentity:
  max-amount: 10

Fixed the config.yml and all language files ( /lang/ ) not updating after installing the latest Version

Players with the essentialsc.vanish.see can now see vanished players in the TAB and ingame

Added offline Player support for /invsee

Added a /playerlist command with configurable options:

playerlist:
  show-luckperms-prefix: true
  players-per-line: 10

Added a /tphereall command

Enjoy ;)

Changelog


Added a home GUI:

  • Manage offline and online players
  • Modify other players' homes
  • Rename, remove, delete, or set any player's homes
  • Switch between command and gui mode in the config.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 /tphere command

Added an /itemid command

Added custom bStats economy charts

Changelog


Bump plugin.yml version to 4.1.1

Changelog


Bedrock users can no longer use Nicknames

Added a configurable nick indicator:

  indicator: "~"

Added custom world support for /rtp

Added 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 of public 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 Replace this with a description

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.json as 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-enabledluckperms.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 reset command 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.yml entries 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

Replace this with a description

Changelog


Fixed the /kits command

Added Luckperms support:

The prefix + suffix now get formatted in the chat Toggable in the config.yml file:

chat:
  luckperms-enabled: true

Removed the invalid config.yml option:

migration:
  enabled: true

Changelog


Added EssentialsX → EssentialsC migration system

Added /migration status command to detect existing EssentialsX data and verify manager availability

Added /migration essentialsx --dry-run preview mode to simulate migration without writing data

Added 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:

  1. Validation — checks worlds, detects issues, verifies managers
  2. Warps — transfers warp data and metadata
  3. Users — migrates economy, homes, nicknames, and mutes
  4. 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 faststats | #19c3b11

Fixed the config.yml afk options | #a120c09

Changelog


Added @everyone / * to the /eco command | #536f63d

Example: /eco give @everyone 100

Changed /eco command 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.everyone

Fixed the afk broadtcast message | #f51a272

Fixed the auction config.yml checks | #29761ec

Changelog


Updated the spawner config | #389ee8c

Updated the auction GUI colors | #b05b8be

Fixed the default shop files gettingg recreated even after deleting them | #56f962f

Updated the mining config | #999bd11


All commits: Click

Changelog


Added a Ban listener to prevent banned players from joining | #261f0a4

Added PlaceholderAPI Hook + Vanish placeholders | #9789a12

Do /essc placeholders for a placeholder list

Fixed the default language (en_EN to en_US) | #34689c3

External resources


Project members

_GodlyCow

Maintainer


Technical information

License
Apache-2.0
Project ID