This is a discussion topic for the Ore project, PokeTeams. View the full project on Ore for downloads and more information.
PokeTeams allows players to create fully customizable teams which they can invite their friends to and play with. The players can promote their team members in a hierarchy from grunt all the way to owner. Each rank has specific abilities that can be fully customized in the configuration files
In these teams, players can set and use bases, fight other teams with a random queue system, chat in private team chats, and have information recorded about their battles, wild pokemon fights, pokemon catches, and legendary catches.
You can enter in PokeTeams’ custom queue system and fight in a full competitive battling system. This can come with custom clauses, rules, and rewards.
If you want to involve even more people into the mix, you can use the alliance system to group teams together.
Follow the rest of the pages here for more information regarding commands, configuration, dependencies, permissions and placeholders!
I always want to support fellow developers so if you ever want to use PokeTeams as an API feel free to check out the Developer page for more information