Party System ------------ /ps create [partyname] --- This would allow the person typing the command to create the party with the chosen name, unless of course that name is already taken. If the party name already exists, the person should get the message: That party already exists. /ps party --- If you are not in a party, this should display all party names that are currently active. If you are in a party, it should display the party name, along with all the names of the party members, and their current health. It should show who originally started the party with a tag like this: [Leader] This list should also include the settings of the auto join showing if it is on or off, show the pvp setting on or off, and the setting for the loot distribution, and look something like this: Auto Join: [On/Off] - PvP: [On/Off] - Loot: [Normal/Random/Order] /ps auto on/off --- This should be on by default when the party is first created. Having this set to "on" will allow people to join the party on their own. If this option is set to off, people can only be invited by the leader or sub-lead. /ps sub [playername] --- The leader should be able to set a sub-leader who can act as the leader with some restrictions. When a player in a party does the /ps party command, it should show the sub-leader with a tag like this: [Sub] /ps invite [playername] --- This would allow the party leader or sub-leader to invite a person to their party regardless of "auto" being on or off. The player receiving the invitation should be presented with a message like this: You've been invited by [name of player inviting] to join their party. To join press T and type in: /ps accept /ps accept --- This would allow the player to accept the pending invitation. Once they have accepted the invitation, they should get a message like this: You've joined [name of party]. To leave press T and type in: /ps leave If the player is already a member of the party, they can use this option to accept a pending duel with their challenger. /ps lr on/off --- This option should be "on" by default, when a person joins the party. This option should be available to all members except the leader. When a player has died, if they have this option set to on, they will respawn at the leaders location. However, they shouldn't respawn immediately, they should see an adjustable timer (set in the config file) counting down, then spawn when the counter reaches 0. I suggest the timer be set to 20 seconds by default. If the leader dies, they will not have the option to respawn at their location since they are dead. /ps pvp on/off --- When set to on, this would allow the party members to attack and hurt one another. When set to off (which should be the default), the party members would not receive or do damage to another member of the party. /ps loot normal/random/order --- The option of normal would be the default and this would allow anything picked up by a player to be placed into their inventory like normal. If the option is set to random, everytime any player picks up an item, that item should randomly be placed into someones inventory who is a member of the party, and within a certain distance to where the items was picked up. The order option should place an item picked up into a players inventory in alphabetical order, and once the last player has received an item, it would start over from the begining again. This too would only work for items picked up within a certain distance of the players. If a player is too far from the item when its picked up and its their turn to receive an item, they will then be skipped. The distance a player can be away from the picked up item and still get it should be configurable with a default of 20 squares. /ps kick [playername] --- This would allow the leader and sub-leader to kick a player out of the party. The leader would be allow to kick the sub-leader, but the sub-leader shouldn't be allow to kick the leader. /ps join [partyname] --- This would allow a player to join the party of the name given, if it exists, show a message like this: You have join [name of party]. /ps leave --- Will remove you from your current party, showing a message like this: You've left your party. If you're not in a party a message like this should be shown: You're not in a party. If the leader leaves the party, the sub-leader (if chosen) should become the leader, and the sub-lead will be none selected. If there is no sub-leader when the party leader leaves then a party member chosen at random should be selected to be the leader. /ps duel [playername] --- This will override the current party PvP option, allowing the player to challenge another party member to a fight. The player being challenged would see a message like this: [challenging players name] has requested a duel with you. To accept press T and type in: /ps accept /ps tp <playersname> --- The players name is optional. If no name is given, this will allow a player in the party to teleport to the leaders location. Using a players name will teleport you to the selected player rather than the leaders location. The leader will have to supply a players name, and should not be allowed to teleport to themselves showing a message like this: Please add a party members name, you can't teleport to yourself. This should have a cooldown with a default of 300 seconds, that is configurable. /ps disband --- Only the leader can issue this command. This would remove all party members from the party giving them a message like this: The leader has disbanded the party. Right Clicking with a Barehand --- This should open a trade window between the 2 players allowing them to exchange items in their inventories. This should only work for 2 players who are in the same party. The second player should also have to right click with a barehand on the player who initiated the trade. When the initiator of the trade right clicks on a person the player they click on should see a message like this: [playername] has requested a trade with you. Right click on the person with an empty hand to start the trade. /ps help --- When a player uses this command, they should only see the commands that are immediately available to them, and not an entire list of commands that the plugin does. If a player wasn't in a party this is all they would see: /ps create [partyname] - /ps party - /ps accept - /ps join [partyname] - /ps help If a player was in a party there list would look like this: /ps party - /ps leave - /ps lr on/off - /ps duel [playername] - /ps tp <playersname> - /ps help If a player is the leader or sub-leader it would look like this: /ps party - /ps auto on/off - /ps sub [playername] - /ps invite [playername] - /ps pvp on/off - /ps loot normal/random/order - /ps kick [playername] - /ps leave - /ps duel [playername] If the playeris the leader and not the sub-leader they list would have the one additional command: /ps disband There would be additional options presented to the player depending on other plugins that are installed and are being tied into. Other Info --- All messages, and tags, etc. should be in a seperate file language.cfg so that anyone can easily edit the information to their liking, or language. In the config file there should be a party maximum size option, to limit how large a single party can be. There should be a AFK feature so that if the leader goes AFK for longer than a configurable amount of time, the plugin will treat the player as if the leader has left the party, without kicking them. It will simply hand over the leader position to the sub-leader if there is one, or give the leader to a random person if no sub-leader is available. A good default for this would be something like 900 seconds. In the config there should be a maximum parties option. This would limit how many parties can actually be active at any given time, with 0 being unlimited and on by default. If a party member disconnects or is disconnected they should be removed from the party, and have to rejoin. ===== Party Chat: There are many plugins out there that handle chat, so I'm not sure if this plugin should have its own chat function for parties or not. I personally suggest skipping this and possible putting it in later after the masses have decided if it is needed or not. ===== Tie ins with mcMMO: In the config file should be an option called: perfectparty If this option is set to 0, the option should not be used. If the perfectparty option is set to 1 or higher, and the party size is exactly what the perfect party size is set to, then all experience gained would be doubled. ===== Tie ins with VirtualChest Allowing the party to purchase a virtual chest would be a very nice option. If a virtual chest is available to the party, the plugin should provide an additional loot option of "chest". If the loot option is set to chest, then all things that aren't cobblestone, dirt, gravel and sand should go directly into the virtual chest no matter where the players are. Only the leader and sub-leader should be allowed to remove things from the chest. They can distribute items as they see fit to party members. All party members should be allowed to view the contents of the chest. ===== Tie ins with Other Plugins Other plugins over time should could be added to this plugin if they are truely vital to a party atmosphere. Thanks to anyone who actually makes this plugin!