iClans - dead-simple Factions/SimpleClans alternative

Discussion in 'Archived: Plugin Requests' started by xbenas, Mar 25, 2014.

  1. Offline

    xbenas

    Why does every plugin have to be bloated, full of useless features, that not-so-PvP focused servers don't need?

    I need a simple plugin, or rather, a simplified Factions/SimpleClans version. Try not to associate stuff with Factions so you don't get confused. Here's how stuff goes:

    The main point of this plugin is to stay as cosmetic as possible, besides the PvP protection.

    There are a total of 5 "player groups":
    1. Leader
      Has total control over the clan, every command available. There can only be 1 leader in a clan.
    2. Officer
      Everything leader has except he can't assign/kick other officers (and disband the whole clan, but he can kick out members). There can be as many officers as the leader desires.
    3. Member
      Simply a member of the clan. There can be as many members as leader/officers wish.
    4. Neutral
      A player without an assigned clan.
      • Free agent
        Player, who has PvP enabled, but isn't a member of any clan.
    A neutral can create a clan, then he turns into a leader. He then can invite other neutrals into his clan, which makes them members. He can then turn members into officers, etc...

    How stuff works?

    Clans are supposed to be srs stoof, so you can only join one by getting an invite from a clan. Or you can make one yourself...

    Neutrals have PvP turned off for them (by default). This is needed so that people who don't want to be bothered by the PvP portion of the game can just enjoy their survival experience (with friends, of course).
    Tough, there's this "hook": some people want to have PvP enabled without a clan. This is where the invisible "Free agents" "clan" comes in. Players in this "clan" act like they are neutrals but the only difference is that they have PvP enabled for them, this means that they can be killed by any clan ever, but don't have any clan commands (except to create one).

    Don't forget about Friendly Fire! Clan leaders/officers should be able to control FF for everyone in their clan at once - no FF editing for specific members.

    Of course, alliances. Can't live without them. Clan leaders and officers should be able to declare alliances with other clans, if the said clan accepted the truce. An alliance only means that your clan and the other clan will always have FF turned off between each other and you can't change it unless you break the alliance with an allied clan. You can turn FF on for your members, you can turn off FF for your members - but in both variants your clan can't hurt the allied clan. You can break an alliance at any time. You can have as many alliances as you want.

    NO ENEMY/RIVAL STUFF AT ALL!

    Also, the most important part of this plugin - friendliness with Minigames, HungerGames and such.
    There must be an option in the config, which lets you enter the names of worlds which will have PvP enabled for absolutely everyone. This means hassle free PvP Minigames and HungerGames for any kind of player, whether he is in a clan, has made an alliance with the other playing clans, is a neutral or not.

    That's about the main purpose of the plugin. NO CLAIMING, NO RIVALS, NO SCORES OR POINTS, NO RAIDS.

    Commands
    Main command: /iclans and an alias /ic

    /ic create name | Permission: iclans.create | Create a clan with the said name. Max and min length is in the config.
    /ic abandon | LEADER ONLY | Completely delete the clan.

    /ic invite name | LEADER/OFFICER ONLY | Invite the said player to your clan.
    /ic yes | EVERYONE | Accept the clan invite.
    /ic no | EVERYONE | Deny the clan invite.
    /ic freeagent | EVERYONE | Become a free agent.
    /ic leave | OFFICER/MEMBER ONLY | Leave the clan (become a neutral).

    /ic officer name | LEADER ONLY | Promote a member to an officer.
    /ic member name | LEADER ONLY | Demote an officer to a member.
    /ic kick name | LEADER/OFFICER ONLY | Kick a specified player from your clan.
    /ic ff on | LEADER/OFFICER ONLY | Turns FF on for your clan (aka you can hurt your teammates)
    /ic ff off | LEADER/OFFICER ONLY | Turns FF off for your clan (aka you can not hurt your teammates)

    /ic list | CLAN LEADER/MEMBER/OFFICER ONLY | Lists your clan's members, officers should have different formatting, leader should too.
    /ic clanlist | Permission: iclans.clanlist | Lists all clans.
    /ic allies OR /ic allylist | CLAN LEADER/MEMBER/OFFICER ONLY | Shows a list of clans you are allies with.

    /ic ally name | LEADER/OFFICER ONLY | Send a request to the said clan to be allies.
    /ic accept | LEADER/OFFICER ONLY | Accept the other clan's invite to be allies.
    /ic deny | LEADER/OFFICER ONLY | Deny the other clan's invite to be allies.

    /ic admin name | Permission: iclans.admin | Gives you leader's access to the named clan. Used for administration by admins or OPs for a specific clan management.
    /ic noadmin name | Permission: iclans.admin | Leave the clan you are administering.
    /ic reload| Permission: iclans.reload | Reload all configs and data.


    Config

    config.yml (open)
    Code:
    #Should we protect neutrals?
    protect-neutrals: bool
    
    #Max/min lenght of clan names
    max-clan-lenght: int
    min-clan-lenght: int
    
    #Chat formating before/after name
    neutral-format-before-name: 'string'
    neutral-format-after-name: 'string'
    clan-format-before-name: 'string'
    clan-format-after-name: 'string'
    clan-leader-format-before-name: 'string'
    clan-leader-format-after-name: 'string'
    freeagent-format-before-name: 'string'
    freeagent-format-after-name: 'string'
    
    #Which worlds should have PvP enabled for everyone?
    pvp-for-all-in-worlds: []
    Example:
    Code:
    #Should we protect neutrals?
    protect-neutrals: true
    
    #Max/min lenght of clan names
    max-clan-lenght: 10
    min-clan-lenght: 3
    
    #Chat formating before/after name
    neutral-format-before-name: '&e'
    neutral-format-after-name: '&r'
    clan-format-before-name: '&c{CLAN}&7|&e'
    clan-format-after-name: '&r'
    clan-leader-format-before-name: '&c{CLAN}&7|&6'
    clan-leader-format-after-name: '&r'
    freeagent-format-before-name: '&6'
    freeagent-format-after-name: '&r'
    
    #Which worlds should have PvP enabled for everyone?
    pvp-for-all-in-worlds:
      - world_nether
      - world_the_end


    Chat formatting examples

    Neutral:
    neutral.png

    Free Agent:
    freeagent.png

    Clan member/officer:
    clanmemebrofficer.png

    Clan leader:
    clanleader.png

    Notice how in the last picture the player "flashii" has a special rank next to the clan. The iClans plugin should overwrite only the display name, so that it would work flawlessly with other chat plugins, like Essentials chat. From Essentials config:
    Code:
      group-formats:
        vip: '<&9VIP&r<{DISPLAYNAME}> &f{MESSAGE}'
    Data storage

    Data storage should be simple. The plugin should make a folder in the plugins folder named "iClans".
    The folder cointains 1 file - config.yml - and 2 folders: Players and Clans.
    Players folder contains *.yml files named after players, e.g. xbenas.yml. The file includes this:
    Code:
    rank: 'leader/officer/member/freeagent'
    clan: 'nameofclan'
    Plugin should ignore the clan name if the rank is freeagent. Neutral player files should be deleted.

    Clans folder containts *.yml files named after clans, e.g. OneManArmy.yml. The file includes this:
    Code:
    leader:
      - NAME
    officers:
      - name1
      - name2
    members:
      - name3
      - name4


    That's it! Whew, 4 hours well spent, I say! Any takers? :D
     
  2. xbenas Those plugins still work. If they have useless functions, just don't use the useless parts. :D
     
  3. Offline

    xbenas

    Factions is too cumbersome to use and SimpleClans is outdated and buggy (can't even see what /clan players write, other problems with commands) :eek:
    I am currently using SimpleClans, but wanted something more simple (and updated). :D

    EDIT: Also, there isn't a "free agent" clan and there are a lot of issues with friendly-fire and Minigames (PvP not working for teammates or allies, etc.)
     
  4. xbenas Just because something isn't updated to the latest MINECRAFT version, doesn't mean it won't work. CraftBukkit isn't always updated instantly, and plugins don't always break. Some plugins from 1.2.5 still work with CB 1.7.2
     
    timtower likes this.
  5. Offline

    xbenas

    Amazing! [diamond]
    You can differentiate however you want with file storage and other internal things, just keep the concepts!
    But SimpleClans is broken and Factions is just a big bloat for just a few functions I need.
     
  6. Offline

    xybre

    This sounds perfect, I'd love to use this. Factions (while a great plugin) provides a huge number of additional features that distract and conflict with other plugins and is needlessly complicated for simple setups. This feature set is slightly different than SimpleClans and fits my use case more precisely, in addition to its unmaintainedness.
     
  7. Offline

    tbrooks23

Share This Page