✨ Added
/vcgroupcommand improvements:- Support for group persistence: When creating, you can now specify
persistentornot-persistent. Persistent groups remain even after everyone leaves; non-persistent groups are automatically deleted when empty. - New
joinsubcommand replacesaddfor moving or adding players to existing groups. - Password protection is now optionally available for persistent groups. Only persistent groups can have a password.
- Group list in chat: All groups are now shown as clickable chat components with "Click to join" hover text, triggering the
/vcgroup join ...command when clicked. - Tab completion supports persistence options and always displays group names in quotes (
"<group name>").
- Support for group persistence: When creating, you can now specify
- Groups with a password are now displayed as
[locked]in the list; the password itself remains hidden.
🛠️ Changed
- Argument parsing for group name and password fully switched to quoted format:
"<group name>","<password>". - Tab completion refined contextually, especially for
create,join, and persistence options. - Automatic group removal: Only non-persistent groups are now deleted when empty. Persistent groups remain permanently.
- Only relevant groups are suggested in argument slots (always correctly quoted).
🐛 Fixed
- Consistent removal of group passwords when the group is deleted.
- All subcommands now handle quoted arguments robustly, with clear error handling for malformed input.
- Missing click events and status display for password-protected groups in the list are now fixed.
- Group switching actions (such as join/kick) now correctly consider persistence, so temporary groups disappear as expected.
🚑 Hotfix
- Permission node updated: All group management commands now use
voiceserver.vcgroupinstead ofvoicechat.group.manage. - Ensure your server’s permission configuration grants
voiceserver.vcgroupto users who should manage voice chat groups.
✨ Added
/vcgroupcommand improvements:- New selectors
@r(random player) and@p(nearest player to sender) are now supported for all relevant subcommands (create,add,kick). kick <player>now works without requiring a group argument and automatically removes players from their current group.- Tab completion now offers
@rand@pas suggestions in all player argument slots, alongside existing selectors and player names.
- New selectors
- Groups with a password now show only
[locked]in thelistdisplay, hiding the password for security.
🛠️ Changed
- Argument parsing for all player selectors (including
@r,@p) improved and made consistent throughout the plugin. - The
kicksubcommand no longer requires a group argument. - Tab completion for
kickno longer suggests group names. - Improved automatic group removal: groups are fully deleted as soon as the last member is removed.
🐛 Fixed
- Players are now reliably removed from their correct current group (including through selectors and direct kicks).
- The group list now always shows the correct status with
[locked]immediately after changes. - Resolved issues with group and player target resolution for
@rand@pselectors.
✨ Added
/vcgroupcommand improvements:listcommand upgraded for better display and functionality.remove <group_name>andkick <player> <group_name>now work correctly and reliably.- Groups are now fully and cleanly removed, including kicking all players from removed groups automatically.
- Improved argument parsing for group names with spaces and quotes.
- Tab completion suggestions now better support group names, player selectors (
@a,@s), and player names.
🛠️ Changed
- Better handling of group removal and player kicks on group deletion.
- Improved command feedback with clearer success and error messages.
- Unified permission check to
voicechat.group.managefor all group management commands.
🐛 Fixed
removeandkickcommands now fully functional without issues.- Group list updates after changes now happen reliably.
✨ Added
- Group names with spaces are now supported using quotes.
Example:/vc-group create Player "My Group Name" - Advanced argument parsing to handle group names and optional passwords reliably, even when names contain spaces.
🛠️ Changed
- Unified permission: Replaced multiple permissions with a single one:
voicechat.group.manage. - Enhanced tab completion: Group names with spaces are automatically wrapped in quotes when suggested.
- Improved command usage hints and clearer error messages for all subcommands.
- Automatic player removal from voice groups when a group is deleted.
🐛 Fixed
- Incorrect usage hints that previously showed
[...]instead of<...>. - Removed a duplicate import of
Collectors.
🛠️ Changed
-
Internal improvements to
/vc-group remove <group_name>:- Reworked the command’s logic to cleanly separate argument parsing from execution logic.
- Improved maintainability and code readability.
- Prepared for potential future extensions and internal reuse.
Note: This update does not alter the command's external behavior, but significantly improves the underlying structure.
✨ Added
/vc-groupcommand to manage voice chat groups:list– View all current voice chat groups.create <player|@a|@s> <group_name> [password]– Create a group and assign players.add <player|@a|@s> <group_name>– Add players to an existing group.kick <player> <group_name>– Remove players from a group.remove <group_name>– Delete a voice chat group.
- Support for selectors:
@a– all players@s– the command sender
- Password-protected groups (optional).
🛠️ Changed
- Group names are now displayed with
[locked]if password-protected. - Improved feedback messages with color formatting and tags.
- Command tab-completion for subcommands, players, and group names.
🔐 Permissions
voicechat.group.list– Required to list, add, kick, or remove.voicechat.group.create– Required to create new groups.
✨ Features
- Integrated with Simple Voice Chat API by henkelmax.
- Voice chat group management using the
/vc-groupcommand:/vc-group list– List all existing voice chat groups./vc-group add <player> <group>– Add a player to a voice chat group./vc-group kick <player> <group>– Remove a player from a voice chat group./vc-group remove <group>– Delete a voice chat group.
- Tab completion for all subcommands, player names, and group names.
- Basic permission support:
voicechat.group.list– Required to view and manage groups.
- Debug logging to assist with troubleshooting and development.
🐞 Fixes
- None – this is the initial version.
⚠️ Known Issues
- None known at the time of release.
👨💻 Developer Notes
- Developed by Jakomi1.
- Designed to be lightweight and efficient.
- Optimized for Paper 1.21.4 servers.



