New features:
• PlaceholderAPI:%perfteams_indicator%shows a configurable dot/text when the player is in a team and the “not in team” string when they are not (default empty so nothing shows without a team)
•%perfteams_indicator_in_team%and%perfteams_indicator_not_in_team%for showing only the in-team or solo state
•placeholder-indicatorinconfig.ymlwith MiniMessage strings forin-teamandnot-in-team
Bug fixes:
•/teamand team GUIs no longer crash when team names, player names, or PlaceholderAPI strings contain legacy colors; those codes are removed before MiniMessage runs
New features:
• GUI inventory titles (main, alliance, bank, roles, leaderboard, join-requests) support PlaceholderAPI when installed, so placeholders such as %perfteams_team_name% resolve before MiniMessage formatting
New features:
• All team data (members, bank, homes, alliances, role permissions) is stored in the configured SQLite or MySQL database instead ofteams-data.yml
Improvements:
• If the database is empty butteams-data.ymlstill exists, it is imported once on startup and the file is renamed toteams-data.yml.bak-migrated
Bug fixes:
• On plugin disable, team state is saved to the database synchronously before other shutdown work so pending changes are not dropped
Bug fixes:
• Fixed alliance-accepted message appearing twice when accepting an alliance (removed duplicate personal message, only team broadcast is sent now)
Improvements:
• You can accept an alliance with /teams alliance <teamname> instead of /teams alliance accept <teamname>
• Tab completion for /teams alliance now suggests the team name when you have a pending request
• Usage and request-received messages updated to describe the shorter accept command
Bug fixes:
• Alliance button in the main team GUI now correctly opens the alliance screen (button slot was previously treated as a teammate slot)
New features:
• When your team is invited to an alliance, members with “manage alliances” receive a chat notification and an optional sound (config:alliances.invite-notification-sound)
• Team Bank GUI has a back button, that returns to the main team menu
• Join Requests GUI has a back button, that returns to the main team menu
Improvements:
• Alliance GUI opens only when your team has an alliance or a pending alliance request; otherwise only a chat message is shown and the GUI stays closed
• New message when opening the alliance flow with no alliance: “You have not formed an alliance with another team yet.”
Bug fixes:
• Fixed "Must use teleportAsync while in region threading" errors on Folia when using teleport-related commands or features
Technical:
• All player and entity teleports now use teleportAsync and schedule follow-up actions (messages, sounds, cooldowns) on the correct region or global scheduler for full Folia compatibility
New features:
• Team alliances: invite, accept, decline, dissolve and list
• Alliance GUI (opened from main team GUI): shows your team and allied team members in one list
• Alliance PvP toggle in the Alliance GUI: when both allied teams enable it, they can damage each other
• Team Bank: shared team balance with deposit/withdraw via GUI (Team Bank button) and commands (/teams bank, /teams bank deposit, /teams bank withdraw
• PlaceholderAPI placeholder %perfteams_team_bank% for the current team’s bank balance
• Bank permissions per role (bank-deposit, bank-withdraw) and config options: bank.enabled, min-deposit, min-withdraw, max-balance
