Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
A modern, modular core solution for your server with all the essential features.
BREAKING CHANGES (MUST READ BEFORE UPDATE):
This update contains some breaking changes that needs to be reconfigured manually:
- The
command-map.ymlconfig 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.ymlto individual command files (in/commands/directory) under theCooldownsetting. Cooldowns for commands of other plugins no longer supported (read full changelog for details). - All paths in the Bans module's
settings.ymlhave 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.ymlhave 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.ymlconfig file. - Multiple
otherspermissions in various commands were merged into single permission per each command. - Improved performance of the
broadcastcommand. - Added explicit, static permissions for all portable containers of the
containercommand. - Added sounds when opening portable containers from the
containercommand. - Fixed
disposalcommand used permissions of thedimensioncommand. - Added explicit
Notifymessage for the/enderchest opencommand. - Command
/enchanthas been split into/enchantand/disenchantcommands. - Command
/disenchantnow can remove all enchantents from an item if no enchantment provided. - Command
/xphas been split into/xpand/levelcommands. - Removed unnecessary permissions from
/xpand/levelcommands. - Removed the
/xp viewcommand since the same info can be obtained through the/playerinfocommand. - Changed all default messages for the
/xpand/levelcommands to more clean ones. - Changed permissions and messages for
/igniteand/extinguishcommands to make them less confusing. - Command
/flyhas been split into/flytoggle,/flyonand/flyoffcommands for clarity and simplified usage. - Fixed a bug, where the
/feedcommand 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
/healthcommands can be executed on dead players which makes them buggied. - Command
/healnow can revive dead players. - Commands
/mobwere removed in favor of better vanilla alternatives. - Command
/nearnow can be used on other players to see players around targetted player. - Added the
otherspermission for the/nearcommand. - Added the
excludepermission for the/nearcommand. - Added the
%direction%placeholder to the/nearcommand. - Improved default layout for the
/playerinfocommand. Added a few QoL functions (copy UUID, name, IP). - Added
othersandcustompermissions for the/skullcommand. - Fixed and improved the
/skullcommand, so it can produce heads of any real player, from URL and Base 64 values. - The
/sudocommand has been split on 2 commands:/forcesayand/forcerun, to make it more clear and easier to use. - The
/forcesayand/forceruncommands now can bypass the player'sbypassif run from console. - The
/suicidecommand 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 Commandsfeature. - 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
Cooldownsetting 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
/itemwith all it's sub-commands are not part of this module. - Command
/item enchantnow properly supports custom enchantments (if they are properly registered). - Command
/item enchantno more can be used to remove enchantments. - Added command
/item disenchantto remove enchantment(s) from the item. - Added command
/item lore insertto insert lore at specific position. - Removed command
/item takesince it can't provide enough details for specific items. - Swapped some arguments in the
/item spawncommand to simplify the usage. - Added silent
-sflag for the/item givecommand. - Added
stateargument for the/item unbreakablecommand. - Added more validations, better tab completions and feedback messages.
- Added permission for each sub-command of the
/itemlorecommand.
- [Module] Inventories:
- A new module that is responsible for viewing and creating inventories and various stuff related to it.
- Commands
/enderchest,/inventory,/containerand 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-Listsetting. - 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
/altsnow requiresplayerargument. - 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
@handin message. - ItemShow feature will no longer display
Airif player holds no item. - Fixed mentions worked incorrect in various scenarios.
- Added message indicating there are no players in a channel radius.
- Added
Format.Fallbacksetting. - Channel's
Auto_Joinsetting 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-Idif 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_WIDEandRANGE. - 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
Spyfeature. - 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
DisplayModething 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
Rangeconfig 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
DefaultandRespawnhome settings with a singleFavoritesetting. - 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"
-fflag for the/spawncommand to force teleport players.
- Added "force"
- [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
StartXandStartZrange options never used.
Information
| Published on | January 17, 2026 |
|---|---|
| Downloads | 15 |
Platforms
Paper (1.21.8-1.21.11)
Dependencies
Paper