Tournaments
Tournaments is a Pixelmon sidemod Sponge plugin and API for creating Pokémon tournaments.
Contents
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
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.
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 their 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*
- 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.*
- 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 match ends.
- set : Sets the leave zone for the tournament.
- leavezone : Warps to the currently set leave zone. This is the zone players are warped to after their match ends.
- 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.
Note: Commands ending with * are not yet implemented
Permission Nodes
Admin Nodes
Note: These can be given simply 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 forfeit others.
- tournaments.command.admin.zones - Permission to set and inspect zones
Common Nodes
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
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 be 1 player large.
- 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] : 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.
- 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.
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 party gets 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.
- disallowedability:<ability[,ability,...]> : A team may not have the specified ability(s) (case sensitive). Adding this rule multiple types adds to the list.
- helditems<true/false> : If true, held items are allowed. If false, no one may use Pokémon holding held items.