Welcome to the Hangar Open Beta. Please report any issue you encounter on GitHub!
A modular, channel-based chat plugin for Paper 1.21.x to 26.x.
Added
- Private messaging:
/tell(aliases/msg,/w),/rto reply to whoever you last exchanged a tell with (either direction), and/socialspyfor staff to watch other players' tells. Standalone, same-server only for now. Off by default (modules.tell.enable: false) — plenty of servers already run their own tell/msg solution and this shouldn't start competing with it uninvited. Formats and messages live in a newtell.yml. The recipient's copy includes a clickable[reply]by default (<reply>placeholder,reply_buttonintell.yml). A vanished player (any vanish plugin — detected viaPlayer#canSee, not a specific plugin's own convention) never shows up in tab-complete or as a reachable target, indistinguishable from being offline, unless the sender haschat.tell.vanish.bypass.chat.tell.spy.bypassmakes a player's tells fully invisible to/socialspywatchers (not just redacted) while still always logging to console. When enabled,/tellitself is open to everyone unlessrestrict: trueintell.yml, in which case it needschat.tell— that node, like every other one this release adds, is hardcoded rather than configurable, so a typo can never silently break the command server-wide. - Chat color GUI: bare
/chatcolor(still needschat.setcolor) now opens a picker instead of printing a usage message — the 16 standard colors as dyed leather chestplates (a real RGB match per color, not an approximated wool/dye swatch), a reset button, and a book that opens an anvil-based hex picker with a live color preview as you type. Typed/chatcolor <color>also now accepts MiniMessage color tags (<red>,<#4dc3ff>), not just legacy&c/hex#rrggbb. The book/hex-picker can be turned off (menu.hex_picker: false) or pointed at a server's own custom GUI command instead (custom+menu.hex_picker_command) — useful since Paper has no way to give an already-open anvil a real title, so a custom-font GUI-texture background can't apply to that one screen the way it can the rest of the menu. Every icon in both screens is reskinnable per-role through ItemsAdder (menu.itemsadder.*incolor.yml), falling back to the plain vanilla item whenever ItemsAdder isn't installed or the configured ID isn't found. - Join/quit/first-join messages: custom
join/quit/first_joinbroadcasts (newjoinquit.yml). Off by default (modules.joinquit.enable: false), same reasoning as tell above — plenty of servers already have their own join/quit message plugin.<player>is always available,<online>/<max>are supported but left out of the shipped defaults.chat.join.bypasssilences all three for a player, in either direction — covers vanished staff without needing to detect any particular vanish plugin's state. - Paper Hangar listed alongside the existing download page and GitLab Releases as an official distribution channel.
Changed
- Full documentation moved off this repo's own
docs/(now removed) onto deepslate.ch as the single canonical source, instead of two copies that could drift out of sync with each other. config.yml, and the other module config files, reorganized into clearly labeled sections (general/channel/update-checker/console messages, then modules grouped by Chat/Integrations/Maintenance) — no keys renamed or moved, purely cosmetic after several releases' worth of additions had piled up with no structure.- ItemsAdder's
:emoji_name:tab-complete/suggestion logic, previously private toChannelCommand, extracted into a sharedEmojiSuggestionsso/tellcould reuse it instead of a second copy.
Platforms
Paper
1.21–26.2
Dependencies
Paper
- PlaceholderAPI
- DiscordSRV Optional
- ItemsAdder Optional