SunLight ⭐ The Best (z)Essentials/CMI Alternative! icon

SunLight ⭐ The Best (z)Essentials/CMI Alternative! -----

A modern, modular core solution for your server with all the essential features.



v3.15.0 Major Update
BREAKING CHANGES (MUST READ BEFORE UPDATE):

This update contains some breaking changes that needs to be reconfigured manually:

  • The command-map.yml config file is not a thing anymore. All commands now have their own config files located in the /commands/ directory. Command’s settings were moved out to their respective module configs.
  • Changed lang entries and permission nodes for some commands.
  • Command cooldown settings were moved out from the command-map.yml to individual command files (in /commands/ directory) under the Cooldown setting. Cooldowns for commands of other plugins no longer supported (read full changelog for details).
  • All paths in the Bans module’s settings.yml have been changed for clarity and better organization.
  • All current ban entries in your database will become invalid due to new database schema.
  • All paths in the Chat module’s settings.yml have been changed for clarity and better organization.
  • Warps cooldown feature is non-functional currently (will be reimplemented).
  • Ignore feature is not a thing currently (will be reimplemented as a dedicated module).

CHANGES:

  • Core:
    • Added support for 1.21.10, 1.21.11.
    • Commands get their own, dedicated /commands/ directory with individual config files.
    • Module settings were moved out to the dedicated modules.yml config file.
    • Multiple others permissions in various commands were merged into single permission per each command.
    • Improved performance of the broadcast command.
    • Added explicit, static permissions for all portable containers of the container command.
    • Added sounds when opening portable containers from the container command.
    • Fixed disposal command used permissions of the dimension command.
    • Added explicit Notify message for the /enderchest open command.
    • Command /enchant has been split into /enchant and /disenchant commands.
    • Command /disenchant now can remove all enchantents from an item if no enchantment provided.
    • Command /xp has been split into /xp and /level commands.
    • Removed unnecessary permissions from /xp and /level commands.
    • Removed the /xp view command since the same info can be obtained through the /playerinfo command.
    • Changed all default messages for the /xp and /level commands to more clean ones.
    • Changed permissions and messages for /ignite and /extinguish commands to make them less confusing.
    • Command /fly has been split into /flytoggle, /flyon and /flyoff commands for clarity and simplified usage.
    • Fixed a bug, where the /feed command can override player’s saturation value even if it was greater than the one that’s configured for the command.
    • Fixed a bug, where the /health commands can be executed on dead players which makes them buggied.
    • Command /heal now can revive dead players.
    • Commands /mob were removed in favor of better vanilla alternatives.
    • Command /near now can be used on other players to see players around targetted player.
    • Added the others permission for the /near command.
    • Added the exclude permission for the /near command.
    • Added the %direction% placeholder to the /near command.
    • Improved default layout for the /playerinfo command. Added a few QoL functions (copy UUID, name, IP).
    • Added others and custom permissions for the /skull command.
    • Fixed and improved the /skull command, so it can produce heads of any real player, from URL and Base 64 values.
    • The /sudo command has been split on 2 commands: /forcesay and /forcerun, to make it more clear and easier to use.
    • The /forcesay and /forcerun commands now can bypass the player’s bypass if run from console.
    • The /suicide command no longer broadcasts a message, it’s a job for the death messages plugin/module.
    • Added error handling and feedback for all teleport related commands.
    • Added config option to exclude certain plugins from the Unregister Conflicting Commands feature.
    • Added logs indicates whether conflicting commands were replaced by SunLight’s alternatives or not.
    • All modules gets their own configurable prefixes for lang messages.
  • Command Cooldowns:
    • The command cooldowns feature has been reworked and is no longer works with external (non-Sunlight) commands.
    • SunLight’s commands get the Cooldown setting inside their config files in the /commands/ directory.
    • The cooldown is now applied if and only if the command execution was successful (the command did it job).
    • Since the command result can not be determined for external commands (the API and the game itself don’t have such an option), the cooldown feature is not reliable for them, so it was removed.
  • [Module] Essential:
    • A new module that is responsible for the most common, essential commands and features.
    • It was introduced so you can easily toggle on/off the essential features and to respect the modular plugin system.
  • [Module] Items:
    • A new module that is responsible for item customization.
    • Command /item with all it’s sub-commands are not part of this module.
    • Command /item enchant now properly supports custom enchantments (if they are properly registered).
    • Command /item enchant no more can be used to remove enchantments.
    • Added command /item disenchant to remove enchantment(s) from the item.
    • Added command /item lore insert to insert lore at specific position.
    • Removed command /item take since it can’t provide enough details for specific items.
    • Swapped some arguments in the /item spawn command to simplify the usage.
    • Added silent -s flag for the /item give command.
    • Added state argument for the /item unbreakable command.
    • Added more validations, better tab completions and feedback messages.
    • Added permission for each sub-command of the /itemlore command.
  • [Module] Inventories:
    • A new module that is responsible for viewing and creating inventories and various stuff related to it.
    • Commands /enderchest, /inventory, /container and all their sub-commands are now part of this module.
  • [Module] AFK:
    • Recoded the activity tracker. Improved code and performance.
    • Added the status bar message for AFK players indicating their AFK status and AFK time.
    • Improved placeholder handling. No more stupid ? in placeholder output.
  • [Module] BackLocation:
    • No more caches death location if PlayerDeathEvent was cancelled.
    • Added PlaceholderAPI placeholders indicating whether player has a back/death location and their expiration time.
  • [Module] Bans:
    • Bans database merged with the main plugin’s database, removing unnecessary extra database connection. You can still isolate it from the player data to synchronize it across multiple servers.
    • Added single async task to save modified punishment datas instead of creating new tasks per data every time.
    • Database handler is optimized and way more efficient now.
    • Added explicit command to unban IP addresses: /unbanip
    • Added explicit priority setting for Console. Now it’s possible to allow console to punish anyone.
    • Added explicit kick error message if target player has a greater rank priority than the command sender.
    • Added explicit priority error messages for kicks, bans, mutes and warns.
    • Added support for offline players for the “Rank Priority” setting. Now prevents players with lower ranks to ban/kick/warn/mute players with higher ranks even if they’re offline. Requires LuckPerms to work.
    • Added explicit commands for temporal bans, mutes and warns.
    • IP bans are always permanent now.
    • Added explicit duration limit messages for bans, mutes and warns.
    • Added explicit mute notification messages when player tries to speak while muted.
    • Added config setting to toggle blocking commands for muted players.
    • Added UUID support for the Immunity-List setting.
    • Added permission sunlight.bans.alts.notify. Players with this permission will be notified about possible alt accounts of a player when they join the server.
    • Command /alts now requires player argument.
    • Greatly improved and optimized Alts Checker feature.
    • Staff members with “low” ranks can’t override existing bans/mutes with lower values anymore.
    • Restyled all lang messages (no breaking changes here).
  • [Module] Chat:
    • Recoded chat event handler, resolving various compatibility and performance issues.
    • Improved AntiCaps automoderation feature: more smarter and optimized.
    • Improved AntiFlood (previously AntiSpam) automoderation feature: more smarter and optimized.
    • Added config setting that defines cache lifetime of user’s content (last message, command, etc.).
    • Join-Quit messages feature now is a separated Greetings module and is not a part of the Chat module anymore.
    • Death Messages feature now is a separated Death Messages module and is not a part of the Chat module anymore.
    • Announcer feature is now a separated Announcer module and is not a part of the Chat module anymore.
    • Spy feature is now a separated Spy module and is not a part of the Chat module anymore.
    • Fixed all issues related to showing items in chat.
    • Added message indicating player has no item in hand when using @Hand in message.
    • ItemShow feature will no longer display Air if player holds no item.
    • Fixed mentions worked incorrect in various scenarios.
    • Added message indicating there are no players in a channel radius.
    • Added Format.Fallback setting.
    • Channel’s Auto_Join setting now works only if player has permissions to listen or speak in a channel.
    • Removed setting Silent_Channel_On_Join, make this behavior by default.
    • Removed active channel feature. Now always uses Default-Channel-Id if no channel specified.
    • Added config setting to disable the channels feature (basically fallbacks to a single channel).
    • Added new channel range modes: SERVER_WIDE, WORLD_WIDE and RANGE.
    • Added explicit setting to disable conversation sounds.
    • Console can’t send private messsages anymore.
    • New WordFilter system instead of regex rules. It’s easier to use and more optimized.
    • Fix: Players can’t send private messages to themselves anymore.
    • Added config setting to toggle the Spy feature.
    • Fix: Players can’t tag themselves in chat anymore.
  • [Module] Greetings:
    • A new module that is resposible for join and quit messages, and welcoming new players.
    • Removed the DisplayMode thing in favor of Spigot/Paper API usage.
    • Added proper message implementation for PaperMC.
  • [Module] Death Messages:
    • A new module that is responsible for player death messages.
    • Removed Range config setting in favor of Spigot/Paper API usage.
    • Added proper message implementation for PaperMC.
  • [Module] Scheduler:
    • A new module that is responsible for automatic message broadcasting and command dispatching.
    • Announcers got their own dedicated /announcers/ folder.
    • Announcers with random order mode no more repeat messages until all of them were displayed.
  • [Module] Texts:
    • Fixed missing permission check when viewing texts.
  • [Module] Homes:
    • Fixed typos and mistakes in some lang paths.
    • Added explicit message indicating players can’t invite themselves.
    • Added notify message for online players invited to homes.
    • Added sounds for almost every message.
    • Replaced Default and Respawn home settings with a single Favorite setting.
    • Added a new GUI to browse all players invited to a home.
    • Added a dialog screen to invite players to a home.
    • Added a new GUI to browse and select home icon.
    • Added config option with presets of home icons.
    • GUI redesign.
    • Players can’t set their own icons for homes anymore.
    • Improved multi-world handling.
  • [Module] Tab:
    • Nametags feature were moved out to a dedicated module.
    • Tablist sorting no more depends on nametags.
    • Added an explicit configuration option to define tablist order for player ranks (permission groups).
  • [Module] Nametags:
    • A new module that is resposible for player nametag customization.
  • [Module] Spawns:
    • Added “force” -f flag for the /spawn command to force teleport players.
  • [Module] Warmups:
    • Now works for RTP.
  • [Module] RTP:
    • Improved location lookup, removed hardcoded delays and unnecessary tasks. All instant now.
    • Fixed location pick in Nether worlds.
    • Fixed a bug, where StartX and StartZ range options never used.
----------, Jan 17, 2026
Resource Information
Author:
----------
Total Downloads: 70,985
First Release: May 26, 2019
Last Update: Jan 17, 2026
Category: ---------------
All-Time Rating:
194 ratings
Find more info at nightexpress.gitbook.io...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings