CustomCommands ◆ With infinite custom children ! 2.3.2

Create unlimited custom commands with several actions ! [1.7-1.12] [.yml again]

  1. PYRRH4
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    Source Code:
    https://github.com/PYRRH4/CustomCommands
    Do NOT post a bad review with a bug or to get help, it's not fair and it doesn't encourage plugin authors to help you.

    You can get support on the github page.
    You can ask questions on the discussion area.
    You can check the plugin sources on github.

    Before reporting issues, make sure you have all the requirements needed, and that the issue is actually caused by the plugin.

    If you like this plugin, consider donating at www.paypal.me/pyrrh4 ! <3

    [​IMG]
    [​IMG]
    CustomCommands is a plugin that allows you to create your own commands through a simple configuration system ! You can also use it to override other commands like /spawn or /plugins.

    Feel free to send me ideas to improve the plugin !

    [​IMG]
    • Simple configuration system !
    • Currently 11 actions that you can repear as many times as you want !
    • Add permissions nodes to your commands !
    • Add infinite children to your commands !
    • Add a delay to your commands !
    • Multiple aliases for each arguments and child !
    • Plugin reload system !
    • ... and more !
    Every aspect of the configuration is explained in the "customcommands_commands.yml" file. There are also some simple and complex examples.

    [​IMG]
    • Spigot 1.7.2, 1.7.9, 1.7.10, 1.8.9, 1.9.4, 1.10.2, 1.11 or 1.12 (others versions may work but it's not guaranteed, for example custom versions of Spigot like Paper)
    • Java 7 and up
    • Latest version of PyrCore
    [​IMG]

    With permission 'pyr.core.admin' :
    • /pyr rl customcommands : reload the plugin
    (this permission will allow you to get the update notification as well)

    With permission 'customcommands.save.item'
    • /customcommands saveitem [name] : save the item in your hand

    With permission 'customcommands.save.location'
    • /customcommands savelocation [name] : save your current location

    Alias : /customcommands can be 'ccmd

    [​IMG]

    Code (Text):

    #----------------------------------------------------------------------------------------------------
    # Configuration for your custom commands
    #----------------------------------------------------------------------------------------------------
    # Main concept : argument
    #   An argument is something that can be performed by the player
    #   Configurations details and description (see the examples below to understand exactly what it does)
    #   - (mandatory) aliases (list) : all the aliases the player can type to use your argument. The first alias of the list is the one that will be used in display texts (for example, help).
    #   - (mandatory) description (text) : a description of the argument (display use only)
    #   - (optional) permission (text) : a permission required to use the argument
    #   - (optional) parameters (list) : the parameters that the argument can take. It can be :
    #                  - a number : [integer]
    #                  - a decimal number : [double]
    #                  - a player : [player]
    #                  - an online player : [player-online]
    #                  - a string : [string]
    #                  - a sized string : [string:{min}:{max}]
    #                  - or any text
    #      -> Warning : parameters are not children ! Children come below
    #   - (optional) parameters_description (list) : a description of the parameters (display use only)
    #   - (optional) perform (section) : a list of actions (see details below) that will be executed when the player runs the argument
    #   - (optional) children (section) : a list of children arguments. Children can have children that can have children and so on !
    # The ROOT command (the first thing the player has to type, with the /, is considered as an argument as well)
    #----------------------------------------------------------------------------------------------------
    # Actions that you can use :
    #
    #  type: send message
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - message line 1 (placeholders : $ARGS, $PLAYER, $RECEIVER, $ARG:NUMBER)
    #    - message line 2 (placeholders : $ARGS, $PLAYER, $RECEIVER, $ARG:NUMBER)
    #    - ... etc
    #
    #  type: wait ticks
    #  data:
    #    - delay in ticks
    #
    #  type: execute commands for
    #  data:
    #    - command 1 (placeholders : $ARGS, $PLAYER, $ARG:NUMBER)
    #    - command 2 (placeholders : $ARGS, $PLAYER, $ARG:NUMBER)
    #    - ... etc
    #
    #  type: execute commands as
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - command 1 (placeholders : $ARGS, $PLAYER, $ARG:NUMBER)
    #    - command 2 (placeholders : $ARGS, $PLAYER, $ARG:NUMBER)
    #    - ... etc
    #
    #  type: send title
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - title (placeholders : $ARGS, $PLAYER, $RECEIVER, $ARG:NUMBER)
    #    - subtitle (placeholders : $ARGS, $PLAYER, $RECEIVER, $ARG:NUMBER)
    #    - fadein in ticks
    #    - duration in ticks
    #    - fadeout in ticks
    #
    #  type: send actionbar
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - the action bar (placeholders : $ARGS, $PLAYER, $RECEIVER, $ARG:NUMBER)
    #
    #  type: give item
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - the item name (when you saved it with /ccmd saveitem [name])
    #
    #  type: teleport
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - the location name (when you saved it with /ccmd saveloc [name])
    #
    #  type: change gamemode
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - the gameplay id (0 = survival, 1 = creative, 2 = adventure, 3 = spectator (1.8+))
    #
    #  type: change tab
    #  data:
    #    - target ('player', 'everyone', '$ARG:[NUMBER]')
    #    - header
    #    - footer
    #
    #----------------------------------------------------------------------------------------------------

    #----------------------------------------------------------------------------------------------------
    # Example 1 : a simple command that overrides the existing spawn commands
    #----------------------------------------------------------------------------------------------------

    spawn:
     
      # Aliases : the command can be used with /spawn or /gotospawn
      aliases:
        - spawn
        - gotospawn
     
      # Description : command description
      description: go to the spawn
     
      # Permission : the players will need to have the permission to use the command
      permission: myserver.permission.spawn
     
      # Perform : actions that will be performed when the player uses the command
      perform:
        1:
          type: teleport
          data:
            - player
            - my_spawn_location
        2:
          type: send message
          data:
            - player
            - '&aAlright $PLAYER, you''re at spawn !'
     
      # Children : this command doesn't need any child arguments, so the list is empty
      children: []

    #----------------------------------------------------------------------------------------------------
    # Example 2 : a command that uses children to show informations about the server
    #----------------------------------------------------------------------------------------------------

    helpserver:

      # Aliases : the command can be used with /helpserver
      aliases:
        - helpserver
     
      # Description : command description
      description: get informations about the server
     
      # children
      children:
     
        # First child : help about the PVP. The full command to type will be /helpserver pvp
        1:
          aliases:
            - pvp
          description: get informations about the pvp
          perform:
            1:
              type: send message
              data:
                - player
                - &aThe PVP is active on our server, only in the dedicated PVP arena. You can join the battle with /pvp !
                - &7Thanks for using the /helpserver command.
     
        # Second child : help about the shop. The full command to type will be /helpserver shop OR /helpserver store
        2:
          aliases:
            - shop
            - store
          description: get informations about the shop
          perform:
            1:
              type: send message
              data:
                - player
                - '&aWe have a shop available to sell ranks or some cosmetic advantages, so you can support the server and help us to grow. It''s located at www.our-website.com/shop'
                - &7Thanks for using the /helpserver command.

        # ... etc. You can add infinite children.

    #----------------------------------------------------------------------------------------------------
    # Example 3 : more complex command that uses children, parameters, and toggles.
    #----------------------------------------------------------------------------------------------------

    complex:
     
      # Aliases : the command can be used with /complex
      aliases:
        - complex
     
      # Description : command description
      description: complex things PogChamp
     
      # Parameters
      parameters:
        - [string]
     
      # Parameters description
      parameters_description:
        - [param description]
     
      # Children
      children:
     
        # First child. The full command to type will be /complex [param string] child_1 [param player]
        1:
          aliases:
            - child1
          description: 1st complex child DansGame
          parameters:
            - [player]
          parameters_description:
            - [the target]
          perform:
            1:
              type: send message
              data:
                - $ARG:3
                - '&6Hello, $ARG:3. Technically, if everything went well, you receive this message !'
                - '&eHere''s the string parameter : $ARG:1'
                - '&eAnd here''s the integer parameter : $ARG:2'
     
        # Second child. The full command to type will be /complex [param string] child_2, and this will display the help because we didn't specify perform=
        2:
          aliases:
            - child2
          description: 2nd complex child cmonBruh
     
          # Children of /complex [param string] child_2
          children:
       
            # First child of /complex [param string] child_2. The full command to type will be /complex [param integer] child_2 lastchild
            1:
              aliases:
                - lastchild
              description: the youngest child of the family Kappa
         
              # If toggle=true, you'll have to specify perform_toggle_false= and perform_toggle_true= instead of only one perform=
              toggle: true
              # If toggle_persistent=true, the toggle state will be kept for each player even after a server restart/reload
              toggle_persistent: true
              # Perform if toggle is false for the player
              perform_toggle_false:
                1:
                  type: send message
                  data:
                    - player
                    - &fAnd now, the toggle has been toggled to &atrue &f!
              # Perform if toggle is true for the player
              perform_toggle_true:
                1:
                  type: send message
                  data:
                    - player
                    - &fAnd now, the toggle has been toggled to &cfalse &f!

     

    [​IMG]

    By using this plugin, you agree to the following !

    • The plugin is under this license : http://www.pyrrh4.be/files/licenses/open-source.txt
    • ... witch means that you're allowed to use code, modify, or distribute it, for non-commercial usage and you have to credit me.
    • The reviews section is provided for you to give your opinion on the plugin and not to get support / suggest things. See links at the top of the page.

    Thanks for using my plugins ! Enjoy it and don't forget to leave a positive review !

Recent Updates

  1. CustomCommands v2.3.2
  2. CustomCommands v2.3.1
  3. CustomCommands v2.3.0

Recent Reviews

  1. Aleksandar_J
    Aleksandar_J
    1/5,
    Version: 2.3.2
    Plugin does not work for 1.11.2
    Also if the Dev claims if would work. No. It does not.
  2. Nesseley
    Nesseley
    5/5,
    Version: 2.3.2
    This plugin works great! Don't read Yerk's rating cause he obv read and didnt install the plugin PyrCore that you need for the plugin to work.
    Using version 2.3.2 on a 1.12.2 server and it works perfect!
  3. Chillieaters
    Chillieaters
    4/5,
    Version: 2.3.1
    My question is how or what plugin do I need to change a command into a different command?
    I currently have a command "/uc menu main" however I want players to be able to use a custom command such as "/cosmetics" instead.
    1. PYRRH4
      Author's Response
      With customcommands, you can use this :
      type:
      type: 'execute commands as'
      data:
      - 'player'
      - 'uc main menu'
  4. DeKleineKobini
    DeKleineKobini
    5/5,
    Version: 2.2.2
    Really love the new update.
    It now uses YML again, which I prefer and like a lot more.
    There is only one thing I don't like, and that is the message when loading the plugin (in-game), with no way (that I now of) to remove it (tried "", but is empty line, tried nothing but then it uses the default message).
    1. PYRRH4
      Author's Response
      Only servers admins can see this message, it's only for OPs ! :)
  5. Killer_Strike
    Killer_Strike
    5/5,
    Version: 2.2.2
    incredible plugin many feature and great developer i love you !
    ------------------------------------------------------------------------------------------
  6. cooljjz
    cooljjz
    5/5,
    Version: 2.2.2
    Great plugin all it need is a way to execute a list of random commands, otherwise it works flawlessly.
  7. DeKleineKobini
    DeKleineKobini
    3/5,
    Version: 2.2.0
    This was a good plugin and I liked to use (still do but ....), the moment you got to version 2.x, I stopped updating and got back to the lastest 1.x.
    Why you may ask? This configuration file is horrible, back in 1.x you still use a normal format, YAML, since 2.x you changed to your own extension which I don't like for various reasons:
    - only formatting when you MANUALLY change it
    - confusing format
    - why no YAML? because it's complex? If you can't use YAML , you shouldn't be a server owner.
    1. PYRRH4
      Author's Response
      Edit 10-25-2017 : all my plugins now use YAML again.
  8. Humanded
    Humanded
    2/5,
    Version: 2.1.1
    Config files don't even load. Commands don't even work. And judging by the author's last comment to XDhunterXD the author is very arrogant
    1. PYRRH4
      Author's Response
      Check the new update (2.2.0). Don't hesitate to leave a better review, and sorry about the delay !
  9. XDhunterXD
    XDhunterXD
    3/5,
    Version: 2.1.1
    seems like a good plugin but yea the plugin doesn't load the config files....... rip wish this could of worked out
    1. PYRRH4
      Author's Response
      Check the new update (2.2.0). Don't hesitate to leave a better review, and sorry about the delay !
  10. SrPeter
    SrPeter
    1/5,
    Version: 2.1.1
    Worst plugin i have ever seen, no tutorial, really? You need to know the code so you can user it, if you are a beginer, this is not your plugin, great.
    1. PYRRH4
      Author's Response
      Check the new update (2.2.0). Don't hesitate to leave a better review, and sorry about the delay !