ArgumentPrompt 1.0

Have the Server ask you for Command Arguments

  1. dxdy


    This plugin allows you to define commands that will, when entered, prompt players for parameters. To unlock its maximum potential, you'll probably want to combine it with a sign-command plugin.​


    A possible application
    would be an a sign which, using another plugin, is linked to the command "/promptme sendsomeone". That sign will execute the command for the player, prompting this plugin to kick in. He or she will then be asked for each of the pertinent parameters (Who do you want to send money to? How much?), and will never actually have to type the command.

    Setup

    Every command must be configured in the configuration file. The general configuration options are:
    Code (Text):
    # Should the plugin use the chat during the prompting? Otherwise it'll
    # depend on players using the /apa command to supply arguments
    useChat: false
    # Should the plugin display its prefix when interacting with players? When true,
    # a message will look like: "[AP] message", otherwise it'll just be "message"
    # e.g.
    displayPrefix: false
    Other options are specific for each command. A command is defined as follows.
    Code (Text):
    prompts:
      example:
        command: 'promptme icompletedtheexample'
        arguments:
          '1':
            type: integer
    Note that the prompts node is the parent to all commands, and will only ever once be in the config file.

    Next down the line is the command node ("example"), which also defines the commands name (for use after /promptmpe). The actual command is specified in the "command"-field and doesn't include the leading slash.

    Arguments are defined for each command, and need a type field. The plugin supports
    • Integers (integer)
    • Floating-point numbers (double)
    • Strings (string)
    • Material names (material)
    • Player names (player)
    Every argument supports a "before"- and an "after"-field. The content of this field will be displayed before (or after) the argument is required. While you can leave the before field free (a default value will be generated), it's higly recommended to give a specific description of what the player is supposed to do there.

    Other fields are specific to each type and describe the limitations on possible input.
    Code (Text):
          '1':
            # [required] - The type of the argument. See the documentation.
            type: integer
            # [optional] - Every argument can have a message that is displayed
            #   before you need to input it. This defaults to a generated sentence describing the
            #   required properties (ie here: "an integer greater than 0 and less than 6").
            #   If you want to give your players further info about the argument, this is the place
            before: '1 means red, 3 means green, and 2 is inbetween'
            # [optional, specific to type=int] - A minimum value (inclusive)
            min: 1
            # [optional, specific to type=int] - A maximum value (inclusive)
            max: 5
          '2':
            type: string
            # [optional] - Every argument can have a message that is displayed
            #   after the player put the parameter in.
            after: 'Thanks for providing this particular argument.'
            # [optional, specific to type=string] - You can blacklist specific terms.
            noneOf:
            - InsultA
            - DisallowedB
            # [optional, specific to type=string, default false] - Should the blacklisted terms
            #   be displayed to the users?
            displayBlacklist: false
            # [optional, specific to type=string, default false] - Are spaces allowed?
            allowSpaces: false
          '3':
            # Makes sure that this is a material
            type: material
            # [optional, specific to type=material, default false] - Must the
            #   material be that of a block
            mustBeBlock: false
          '4':
            type: string
            allowSpaces: true
            # [optional, specific to tpye=string] - One can provide a whitelist of terms.
            anyOf:
            - Lawnmower
            - Grill
            - Vacuum cleaner
            # [optional, specific to tpye=string] - Should that whitelist be displayed?
            displayWhitelist: true
          '5':
            # same effects as with int, only with floating points
            type: float
            min: 3.4
            max: 5.6
          '6':
            # the name of a player who is currently online
            type: player
    Commands

    /promptme [token] - Provides access to the commands you defined in the config.
    /promptme reloadme - Reloads this plugin
    /apa - Used by players to provide the arguments in case you don't enable chat input.​

    Permissions

    argumentprompt.use - Use any of this plugin's commands.