Join our discord
In partnership with NodeCraft Logo NodeCraft


You are not logged in! Create an account or login to contribute! Log in here!

Difference between revisions of "Tournaments"

From Pixelmon Wiki
(Added reward implementations and fixed typo)
Line 1: Line 1:
Tournaments is a [[Pixelmon]] [[sidemod]] Sponge plugin and API for creating Pokémon tournaments.  
+
Tournaments is a [[Pixelmon]] [[sidemod]] and [https://www.spongepowered.org/ Sponge] plugin for creating Pokémon tournaments. It also provides an API to further customize tournaments.
  
 
==Installation==
 
==Installation==
Line 5: Line 5:
  
 
==Usage==
 
==Usage==
To run a tournament, first you use ''/tournament create''. This creates a new tournament, but does not open it for joining. Players are not notified. You can then use rule and reward adding commands to configure it, with the base ''/tournament'' command to check that your settings are correct. Using ''/tournament open'' will open it for players to join. It will be announced when it does. Players can join using ''/tournament join'', and to begin the tournament proper admins just use ''/tournament start''. This will calculate then start the first round. From there it will be completely automated.
+
The first step in running a tournament is creating the tournament with  "/tournament create". This creates a new tournament, but does not immediately open it for joining. The tournament can be configured with rule- and reward-adding commands, with the base "/tournament" command to check the existing tournaments settings. Using ''/tournament open'' will open it for players to join and send a server-wide announcement advertising the tournament. Players can join using "/tournament join". Once players have joined, tournament admins can use "/tournament start" to start the first tournament round. After starting the tournament, it will continue to run automatically until it is completed.
  
 
==Commands==
 
==Commands==
 
{{CommandSyntax}}
 
{{CommandSyntax}}
*/tournament : Gives general information about any current tournament, including rules, current matches, and teams.
+
*/tournament: Gives general information about any current tournament, including rules, current matches, and teams.
**create [<rule-type[:argument]>...] : Creates a new tournament. Having arguments after ''create'' will be interpreted as rules to add.
+
**create [<rule-type[:argument]>...]: Creates a new tournament. Having arguments after ''create'' will be interpreted as rules to add.
**open : Opens the created tournament for players to join.
+
**open: Opens the created tournament for players to join.
**start : Signals the tournament controller to start the tournament. After it has started, the first round will be calculated and started.
+
**start: Signals the tournament controller to start the tournament. After it has started, the first round will be calculated and started.
**close : Shuts down any existing tournament.
+
**close: Shuts down any existing tournament.
**rules : Gives the list of rules for any current tournament
+
**rules: Gives the list of rules for any current tournament.
***add <rule-type[:argument]> - Adds a rule to the tournament, given rule type and the optional argument. e.g. /tournament rules add levelmax:50
+
***add <rule-type[:argument]>: Adds a rule to the tournament, given rule type and the optional argument. E.g., "/tournament rules add levelmax:50".
***remove <rule-type> : removes all current rules of the given type
+
***remove <rule-type>: Removes all current rules of the given type.
***test [player] : Tests whether a player, and if possible their team and side, passes the rules of the tournament. This is primarily for testing custom rules.
+
***test [player]: Tests whether a player, and if possible the player's team and side, passes the rules of the tournament. This is primarily for testing custom rules.
**rewards : Gives the list of rewards for any current tournament*
+
**zones: Lists the current zones for battle areas. Through the provided interface, new ones can be created or removed.
***add <reward-type[:argument]> : Adds a reward to the tournament, given the rule type and the optional argument. e.g. /tournament rewards add pokemon:starly,lvl:5,s,gr:Enormous
+
***leavezone: Warps to the currently set leave zone. This is the zone players are warped to after their matches end.
***remove <reward-type> : Removes all current rewards of the given type
+
****set: Sets the leave zone for the tournament.
***test [player] : Gives the sender or the optional argument player the rewards for the tournament. This is primarily for testing custom rewards.*
+
**presets: Checks the registered rule presets.
**zones : Lists the current zones for battle areas. Through the provided interface, new ones can be created or removed.
+
***save <name>: Saves the current tournament's rules to a preset with the given name. If the given name already exists as a preset, it is overwritten.
***leavezone : Warps to the currently set leave zone. This is the zone players are warped to after their match ends.
+
***load <name>: Loads the preset with the given name (if it exists) into the current tournament.
****set : Sets the leave zone for the tournament.
+
***delete <name>: Deletes the preset with the given name. This cannot be undone.
**presets : Checks the registered rule presets.
+
***rename <old name> <new name>: Renames a preset.
***save <name> : Saves the current tournament's rules to a preset with the given name. If the given name already exists as a preset, it is overwritten.
+
**join [teammate]: Joins the tournament. If a player name is given and the tournament allows double teams, the player is invited to join as a double team.
***load <name> : Loads the preset with the given name (if it exists) into the current tournament.
+
**leave: Leaves the tournament, if possible. This is not possible in later stages of the tournament, and instead forfeiting is necessary.
***delete <name> : Deletes the preset with the given name. This cannot be undone.
+
**forfeit [player]: Forfeits the tournament. If a player argument is provided and the user has permission, the given player will be forced to forfeit.
***rename <old name> <new name> : Renames a preset.
+
**flag: Flags a battle as bugged. If both sides flag a battle as bugged, it will be turned into a rematch.
**join [teammate] : Joins the tournament. If a player name is given and the tournament allows double-teams, the player is invited to join as a double team.
 
**leave : Leaves the tournament, if possible. This is not possible in later stages of the tournament, and instead forfeiting is necessary.
 
**forfeit [player] : Forfeits the tournament. If a player argument is provided and the user has permission, the given player will be forced to forfeit.
 
**flag : Flags a battle as bugged. If both sides flag a battle as bugged, it will be turned into a rematch.
 
 
**ignore [true/false]: Toggles or sets for the user whether tournament messages should be hidden.
 
**ignore [true/false]: Toggles or sets for the user whether tournament messages should be hidden.
 +
===Coming soon===
 +
**rewards: Gives the list of rewards for any current tournament.
 +
***add <reward-type[:argument]>: Adds a reward to the tournament, given the rule type and the optional argument. E.g., "/tournament rewards add pokemon:[[starly]],lvl:5,s,gr:Enormous".
 +
***remove <reward-type>: Removes all current rewards of the given type.
 +
***test [player]: Gives the sender or the optional argument player the rewards for the tournament. This is primarily for testing custom rewards.
  
''Note: Commands ending with * are not yet implemented''
+
===Permission nodes===
 +
====Admin nodes====
 +
''Note: All admin nodes can be given at once by setting "tournaments.command.admin".
 +
*tournaments.command.admin.create: Permission to create a tournament.
 +
*tournaments.command.admin.tournaments: Permission to open/close/start a tournament.
 +
*tournaments.command.admin.rules: Permission to modify rules, and see normally hidden rules.
 +
*tournaments.command.admin.rewards: Permission to modify rewards and see normally hidden rewards.
 +
*tournaments.command.admin.presets: Permission to handle rule presets.
 +
*tournaments.command.admin.forfeit: Permission to force other players to forfeit.
 +
*tournaments.command.admin.zones: Permission to set and inspect zones.
  
===Permission Nodes===
+
====Common nodes====
====Admin Nodes====
+
''Note: All common nodes can be given at once by setting "tournaments.command.common".
''Note: These can be given simply by setting ''tournaments.command.admin''
+
*tournaments.command.common.tournaments: Permission to view basic tournament information.
*tournaments.command.admin.create - Permission to create a tournament.
+
*tournaments.command.common.join: Permission to join a tournament.
*tournaments.command.admin.tournaments - Permission to open/close/start a tournament.
+
*tournaments.command.common.leave: Permission to leave a tournament.
*tournaments.command.admin.rules - Permission to modify rules, and see normally hidden rules.
+
*tournaments.command.common.forfeit: Permission to forfeit.
*tournaments.command.admin.rewards - Permission to modify rewards, and see normally hidden rewards.
+
*tournaments.command.common.ignore: Permission to ignore a tournament's messages.
*tournaments.command.admin.presets - Permission to handle rule presets.
+
*tournaments.command.common.rules: Permission to view a tournament's rules.
*tournaments.command.admin.forfeit - Permission to forfeit others.
+
*tournaments.command.common.rewards: Permission to view a tournament's rewards.
*tournaments.command.admin.zones - Permission to set and inspect zones
+
*tournaments.command.common.flag: Permission to flag a battle as bugged.
  
====Common Nodes====
+
==Provided implementations==
''Note: These can be given simply by setting ''tournaments.command.common''
 
*tournaments.command.common.tournaments : Permission to view basic tournament information.
 
*tournaments.command.common.join : Permission to join a tournament.
 
*tournaments.command.common.leave : Permission to leave a tournament.
 
*tournaments.command.common.forfeit : Permission to forfeit yourself.
 
*tournaments.command.common.ignore : Permission to ignore a tournament's messages.
 
*tournaments.command.common.rules : Permission to view a tournament's rules.
 
*tournaments.command.common.rewards : Permission to view a tournament's rewards.
 
*tournaments.command.common.flag : Permission to flag a battle as bugged.
 
 
 
==Provided Implementations==
 
 
===Rules===
 
===Rules===
====General Rules====
+
====General rules====
 
*battletype [option] : Sets the type of battles that will occur depending on the option.
 
*battletype [option] : Sets the type of battles that will occur depending on the option.
**single : Standard single battles, teams are only allowed to be 1 player large.
+
**single : Standard single battles, teams are only allowed to have 1 player.
 
**double : Double battles, teams are allowed to have either 1 or 2 players. ''Note: This is best coupled with a partymax rule.
 
**double : Double battles, teams are allowed to have either 1 or 2 players. ''Note: This is best coupled with a partymax rule.
 
**double1: Double battles, teams are only allowed to have 1 player.
 
**double1: Double battles, teams are only allowed to have 1 player.
 
**double2: Double battles, teams are only allowed to have 2 players.
 
**double2: Double battles, teams are only allowed to have 2 players.
*teamcap:<cap>[,autostart]: Establishes a cap on the number of teams that may join the tournament. If ''autostart'' is set, the tournament will begin the moment the tournament is full.
+
*teamcap:<cap>[,autostart]: Establishes a cap on the number of teams that may join the tournament. If "autostart" is set, the tournament will begin the moment the tournament is full.
====Decider Rules====
+
====Decider rules====
*healthtotal[:weight] : Crashes will be decided by whomever has the most HP. If a weight is provided, the higher it is the higher the priority of this decision. Defaults to 1.
+
*healthtotal[:weight]: If a battle crashes, a victor will be decided by the side who has the most HP. If a weight is provided, the higher it is, the higher the priority of this decision. Defaults to 1.
*partycount[:weight] : Crashes will be decided by whomever has the most Pokémon alive in their party(s). If a weight is provided, the higher it is the higher the priority of this decision. Defaults to 3.
+
*partycount[:weight]: If a battle crashes, a victor will be decided by the side who has the most unfainted Pokémon. If a weight is provided, the higher it is, the higher the priority of this decision. Defaults to 3.
====Team Rules====
+
====Team rules====
*partymax:<1-6> : A team's party (all the Pokémon for every player in the team) is counted (excluding eggs) and the team is disqualified if the total is larger than the given maximum.  
+
*partymax:<1-6>: A team's party (all the Pokémon for every player in the team) is counted (excluding [[Eggs]]), and the team is disqualified if the total is larger than the given maximum.  
*partymin:<1-6> : A team 's party (all the Pokémon for every player in the team) is counted (excluding eggs) and the team is disqualified if the total is less than the given minimum.  
+
*partymin:<1-6> : A team's party (all the Pokémon for every player in the team) is counted (excluding [[Eggs]]), and the team is disqualified if the total is less than the given minimum.  
====Player Rules====
+
====Player rules====
*levelmax:<1-100> : Every Pokémon in a player's party must have a level less than or equal to the given maximum.
+
*levelmax:<1-100>: Every Pokémon in a player's party must have a level less than or equal to the given maximum.
*levelmin:<1-100> : Every Pokémon in a player's party must have a level greater than or equal to the given minimum.
+
*levelmin:<1-100>: Every Pokémon in a player's party must have a level greater than or equal to the given minimum.
*healing:<true/false> : If true, healing between battles is both permitted and automated. If false, players will be disqualified if their party gets new Pokémon or their Pokémon are healed in any way.
+
*healing:<true/false>: If true, healing between battles is both permitted and automated. If false, players will be disqualified if their parties get new Pokémon or their Pokémon are healed in any way.
*legendaries:<true/false> : If true, legendaries will be permitted. If false, no one may use legendaries.
+
*legendaries:<true/false>: If true, [[Legendary Pokémon]] will be permitted. If false, no one may use Legendary Pokémon.
 
*disallowedability:<ability[,ability,...]> : A team may not have the specified ability(s) (case sensitive). Adding this rule multiple times adds to the list.
 
*disallowedability:<ability[,ability,...]> : A team may not have the specified ability(s) (case sensitive). Adding this rule multiple times adds to the list.
 
*helditems<true/false> : If true, held items are allowed. If false, no one may use Pokémon holding held items.
 
*helditems<true/false> : If true, held items are allowed. If false, no one may use Pokémon holding held items.
 
===Rewards===
 
===Rewards===
*pokemon:<name[,option,...]> : A Pokémon reward. This is in the PokemonSpec format. e.g. Gyarados,level:1,s,ab:Moxie
+
*pokemon:<name[,option,...]>: A Pokémon reward. This is in the same format as the /pokegive and /pokespawn commands. E.g., "[[Gyarados]],level:1,s,ab:[[Moxie]]".
*items:<player> : A reward of various items. The given player is the player whose inventory will be taken and used as the reward.
+
*items:<player>: A reward of various items. The given player is the player whose inventory will be taken and used as the reward.
*money:<amount> : A reward of the given amount of money.
+
*money:<amount>: A reward of the given amount of money.

Revision as of 02:08, 16 May 2017

Tournaments is a Pixelmon sidemod and Sponge plugin for creating Pokémon tournaments. It also provides an API to further customize tournaments.

Installation

Tournaments is a Sponge plugin, which means it is only for installation on servers. It requires both Pixelmon and SpongeForge to install. The plugin only needs to be in the mods directory of the server for it to run.

Usage

The first step in running a tournament is creating the tournament with "/tournament create". This creates a new tournament, but does not immediately open it for joining. The tournament can be configured with rule- and reward-adding commands, with the base "/tournament" command to check the existing tournaments settings. Using /tournament open will open it for players to join and send a server-wide announcement advertising the tournament. Players can join using "/tournament join". Once players have joined, tournament admins can use "/tournament start" to start the first tournament round. After starting the tournament, it will continue to run automatically until it is completed.

Commands

Note: Command syntax is displayed in the standard Minecraft command format. An explanation of this format can be found here.

  • /tournament: Gives general information about any current tournament, including rules, current matches, and teams.
    • create [<rule-type[:argument]>...]: Creates a new tournament. Having arguments after create will be interpreted as rules to add.
    • open: Opens the created tournament for players to join.
    • start: Signals the tournament controller to start the tournament. After it has started, the first round will be calculated and started.
    • close: Shuts down any existing tournament.
    • rules: Gives the list of rules for any current tournament.
      • add <rule-type[:argument]>: Adds a rule to the tournament, given rule type and the optional argument. E.g., "/tournament rules add levelmax:50".
      • remove <rule-type>: Removes all current rules of the given type.
      • test [player]: Tests whether a player, and if possible the player's team and side, passes the rules of the tournament. This is primarily for testing custom rules.
    • zones: Lists the current zones for battle areas. Through the provided interface, new ones can be created or removed.
      • leavezone: Warps to the currently set leave zone. This is the zone players are warped to after their matches end.
        • set: Sets the leave zone for the tournament.
    • presets: Checks the registered rule presets.
      • save <name>: Saves the current tournament's rules to a preset with the given name. If the given name already exists as a preset, it is overwritten.
      • load <name>: Loads the preset with the given name (if it exists) into the current tournament.
      • delete <name>: Deletes the preset with the given name. This cannot be undone.
      • rename <old name> <new name>: Renames a preset.
    • join [teammate]: Joins the tournament. If a player name is given and the tournament allows double teams, the player is invited to join as a double team.
    • leave: Leaves the tournament, if possible. This is not possible in later stages of the tournament, and instead forfeiting is necessary.
    • forfeit [player]: Forfeits the tournament. If a player argument is provided and the user has permission, the given player will be forced to forfeit.
    • flag: Flags a battle as bugged. If both sides flag a battle as bugged, it will be turned into a rematch.
    • ignore [true/false]: Toggles or sets for the user whether tournament messages should be hidden.

Coming soon

    • rewards: Gives the list of rewards for any current tournament.
      • add <reward-type[:argument]>: Adds a reward to the tournament, given the rule type and the optional argument. E.g., "/tournament rewards add pokemon:starly,lvl:5,s,gr:Enormous".
      • remove <reward-type>: Removes all current rewards of the given type.
      • test [player]: Gives the sender or the optional argument player the rewards for the tournament. This is primarily for testing custom rewards.

Permission nodes

Admin nodes

Note: All admin nodes can be given at once by setting "tournaments.command.admin".

  • tournaments.command.admin.create: Permission to create a tournament.
  • tournaments.command.admin.tournaments: Permission to open/close/start a tournament.
  • tournaments.command.admin.rules: Permission to modify rules, and see normally hidden rules.
  • tournaments.command.admin.rewards: Permission to modify rewards and see normally hidden rewards.
  • tournaments.command.admin.presets: Permission to handle rule presets.
  • tournaments.command.admin.forfeit: Permission to force other players to forfeit.
  • tournaments.command.admin.zones: Permission to set and inspect zones.

Common nodes

Note: All common nodes can be given at once by setting "tournaments.command.common".

  • tournaments.command.common.tournaments: Permission to view basic tournament information.
  • tournaments.command.common.join: Permission to join a tournament.
  • tournaments.command.common.leave: Permission to leave a tournament.
  • tournaments.command.common.forfeit: Permission to forfeit.
  • tournaments.command.common.ignore: Permission to ignore a tournament's messages.
  • tournaments.command.common.rules: Permission to view a tournament's rules.
  • tournaments.command.common.rewards: Permission to view a tournament's rewards.
  • tournaments.command.common.flag: Permission to flag a battle as bugged.

Provided implementations

Rules

General rules

  • battletype [option] : Sets the type of battles that will occur depending on the option.
    • single : Standard single battles, teams are only allowed to have 1 player.
    • double : Double battles, teams are allowed to have either 1 or 2 players. Note: This is best coupled with a partymax rule.
    • double1: Double battles, teams are only allowed to have 1 player.
    • double2: Double battles, teams are only allowed to have 2 players.
  • teamcap:<cap>[,autostart]: Establishes a cap on the number of teams that may join the tournament. If "autostart" is set, the tournament will begin the moment the tournament is full.

Decider rules

  • healthtotal[:weight]: If a battle crashes, a victor will be decided by the side who has the most HP. If a weight is provided, the higher it is, the higher the priority of this decision. Defaults to 1.
  • partycount[:weight]: If a battle crashes, a victor will be decided by the side who has the most unfainted Pokémon. If a weight is provided, the higher it is, the higher the priority of this decision. Defaults to 3.

Team rules

  • partymax:<1-6>: A team's party (all the Pokémon for every player in the team) is counted (excluding Eggs), and the team is disqualified if the total is larger than the given maximum.
  • partymin:<1-6> : A team's party (all the Pokémon for every player in the team) is counted (excluding Eggs), and the team is disqualified if the total is less than the given minimum.

Player rules

  • levelmax:<1-100>: Every Pokémon in a player's party must have a level less than or equal to the given maximum.
  • levelmin:<1-100>: Every Pokémon in a player's party must have a level greater than or equal to the given minimum.
  • healing:<true/false>: If true, healing between battles is both permitted and automated. If false, players will be disqualified if their parties get new Pokémon or their Pokémon are healed in any way.
  • legendaries:<true/false>: If true, Legendary Pokémon will be permitted. If false, no one may use Legendary Pokémon.
  • disallowedability:<ability[,ability,...]> : A team may not have the specified ability(s) (case sensitive). Adding this rule multiple times adds to the list.
  • helditems<true/false> : If true, held items are allowed. If false, no one may use Pokémon holding held items.

Rewards

  • pokemon:<name[,option,...]>: A Pokémon reward. This is in the same format as the /pokegive and /pokespawn commands. E.g., "Gyarados,level:1,s,ab:Moxie".
  • items:<player>: A reward of various items. The given player is the player whose inventory will be taken and used as the reward.
  • money:<amount>: A reward of the given amount of money.

© 2012 - 2025 Pixelmon Mod