I know there are alternatives to Factions such as Polis, MCClans, and sort of Nations but none exactly fit the desires of me or my players. I want a plugin that can appeal to as many people as possible, fulfilling their needs and hopes for the plugin. To you, what would the perfect Factions-like plugin have or do? It can be similar to Factions and any of the Factions-like plugins or completely different. I would love all of your ideas as I want to make it as perfect as I can.
Thanks, I appreciate it and I hope you will enjoy the final result.
EDIT: Sorry, if you did not know, these plugins tend to allow you to group up with other players, claim land, and fight others for their land or not if that is your thing. These plugins are often a form of self-protection but also frequently, allow for wars of sorts between the various groups.
Few things come to mind, as a developer for and player on a server with factions (though it’s not really what I would call a factions server).
First off (as a developer), factions is not very well designed from an OO standpoint, and not made to be easy to modify. Too many tiny classes and a very unclear type hierarchy. It would take more time than I have ATM to elaborate on that, but basically, I would want a neater source. Also, an actual event system as part of the API. Things like ClaimTerritoryEvent and UpdatePlayerRankEvent that you could listen for in other plugins that need to interface with it.
Secondly (as both player and dev), along with the wonderful diplomacy features of factions, I would want it to have very customizable permissions like in towny, but to an even greater extent. In factions, there are only a few ranks you can give players, and you can only give players specific perms (ex build, open containers, etc.) globally based on rank, or full permissions on individual chunks, which has always been a pain. My idea is basically this: allow players to come up with faction-specific rank groups, with configurable permissions, and maybe even an inheritance structure like in PEX. Allow devs to configure the default rank groups for new factions, rather than only a few possible ranks existing. Allow players to create “PermissionsGroups” consisting of players, factions, and/or other PermissionsGroups that you could give individual permissions on individual chunks to. So, I could create a PermissionsGroup foo with player bar and faction baz, then give foo build permission on chunk a against the default global perm for its users, and so all of its members would be able to build. (quite elegant and extensible code that factions sorely needed IMO) Flatfile and MySQL db integration for rank groups and usergroups would be wonderful for devs. All of this stuff should be able to be switched on and off in the ideal plugin, of course
tl;dr: cleaner code, built-in event system, better permissions, more configurability. Combine the strengths of towny with those of factions and allow enable/disable of features to suit needs
2 Likes