Chain Commands

Logo

Chain Commands allows you to make any command that targets a player chain to all other nearby players. Simply put, you can use AoE (area of effect) commands! You can also chain a command to effect everyone in a group (such as a faction)! Give everyone in your arena a battle kit at the same time by chaining /kit! Teleport everyone in a specific faction to you at the same time by group chaining /tp! As this plugin works with every command, it is useful in an almost endless amount of different ways!

Permissions:

  • ChainCommands.canchain - Allows the player to chain commands. Players can only chain commands that they have permission to use.
  • ChainCommands.cansafe - Allows the player to use the "/chain safe" and "/chain safelist" commands.
  • ChainCommands.noradius - Allows the player to bypass the maximum radius specified in the config.
  • ChainCommands.groupchain - Allows the player to chain commands to any group. They can also display all groups, and all members in any group.
  • ChainCommands.owngroupchain - Allows the player to chain commands to the groups they are in. They can also display all members in their groups.
  • ChainCommands.groupedit - Allows the player to create, delete, add members to or remove members from any group. They can also display all groups, and all members in any group.
  • ChainCommands.owngroupedit - Allows the player to add members to or remove members from any group they are in. They can also display all members in their groups. Ops have all permissions.

Config:

  • MaxRadius - sets the max radius (in blocks) at which a player without the permission "ChainCommands.noradius" can chain commands. Default: 100000 (likely the whole map).
  • Groups - this simply keeps track of the groups that have been made and can be chained too. You may find it faster to edit this in the config instead of using the /chain group commands. An example of what this would look like is:
Groups:
  huehue:
    Turkeybag: {}
    pyropyro78: {}
    Derpbag: {}
  HerpDerp: {}

The group 'huehue' has 3 members in it, while the group 'HerpDerp' has none.

Commands

  • /chain [radius] [player arg number] [command] - Chains a command.
  • /chain safe [player] - Makes a player unaffected by chaining. Targets self if left blank.
  • /chain safelist - Displays all players currently unaffected by chaining.
  • /chain help - Shows these commands.
  • /chain group create [groupname] - Creates a group.
  • /chain group delete [groupname] - Deletes a group.
  • /chain group display - Shows all groups.
  • /chain group display [groupname] - Shows all members in a group.
  • /chain [groupname] add [playername] - Adds a player to a group.
  • /chain [groupname] remove [playername] - Removes a player from a group.
  • /chain [groupname] <offline> [player arg number] [command] - Chain a command to a group. Add "offline" if you want offline players to also be targeted. Safe players will still be targeted by this.

How to use chaining:

  • radius = the range in blocks at which it will chain to other players.
  • player arg number = Tells the plugin what argument the player is. EG: for /spawn [player] it would be 2 since player is the second word in the /spawn command. It would be 3 for chaining something like /give goldsword [player]
  • command = the command you want to use. This can be anything as long as it targets a player. You don't need to include a / for the command your chaining.

Examples:

  • If you wanted to chain /spawn [player] to players within 10 blocks of Turkeybag, you would type "/chain 10 2 spawn Turkeybag"
  • If you wanted to use a command say "/spawnmob [mobname] [amount] [player your spawning them on]" to spawn a zombie on everyone in the nether you would type "/chain 10000 4 spawnmob zombie 1 [player in the nether]. This works because assuming the border was less than 5000, the radius would be enough to hit everyone and since it can't chain to players in other worlds and your target was in the nether, it would only work on players in the nether.
  • If you wanted to give everyone in the faction 'Derp' 10 currency using the command '/pay pyropyro78 10' you would type "/chain Derp offline 2 pay huehuehue 10". So long as the group 'Derp' exists this will give everyone in it 10 currency! The name of the original target 'huehuehue' does not matter as the command will work the same regardless. Offline is included in this case but if you only wanted to giver online players currency, then you would simply leave it out of the command.

Note that chained commands will chain from players that aren't the first target. So if your radius was 10 and the person you typed in was 20 blocks away from "Turkeybag" but "pyro" was directly between, 10 blocks away from both, then the chain would still hit Turkeybag. However if pyro was 9 blocks away from the first target and Turkeybag was 11 blocks away from him, then only the first target and pyro would be hit.

Tips:

  • You can press Tab when you have part of a players name typed in to fill in the rest. EG: turk + tab = Turkeybag
  • if you wanna keep track of everyone at a server event (in this case, a 100*100 arena), create a temporary group and then add everyone at the event into that group (/chain 100 2 chain tempgroup add playeratevent). You can now use group chaining to do things such as bring everyone in that group back to the arena after they die, give them all kits, reward them, and so on.
  • This page shows some features only available in the newest version of chain commands, check the changelog.

Safety features:

  • You cannot chain other chaining commands to prevent an infinite loop.
  • Chaining acts exactly as if they player typed in the command themselves for each player chained to so players chaining a command they don't have permission to will simply spam them with something like "You don't have permission to do that". Example of this:

Chain Safety Example of what will happen if offline is included with a command that requires the players to be online: Chain Safety 2

Metrics:

This plugin utilizes Hidendra's plugin metrics system, which means that the following information is collected and sent to mcstats.org:

  • A unique identifier
  • The server's version of Java
  • Whether the server is in offline or online mode
  • The plugin's version
  • The server's version
  • The OS version/name and architecture
  • The core count for the CPU
  • The number of players online
  • The Metrics version
  • You can disable the stat collection via /plugins/PluginMetrics/config.yml if you wish. (But that is not very nice :( )

Todo list:

  • ??? feel free to give me ideas!

Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    58793
  • Created
    Jun 7, 2013
  • Last Released File
    Mar 23, 2014
  • Total Downloads
    551
  • License

Categories

Members

Recent Files