▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/CustomCommands
CustomCommands

CustomCommands

A powerful custom commands plugin with subcommands, console command execution, and clickable links. Create unlimited custom commands with variable replacement, permissions, and modern text formatting for your Paper server.

1.0K
5

Custom Commands Plugin [Folia Support]

A powerful and feature-rich custom commands plugin for Paper/Spigot servers with advanced functionality including nested subcommands, arguments system, player validation, console command execution, clickable links, and Folia Support!

Features

Custom Commands

  • Create unlimited custom commands with permissions, aliases, and cooldowns
  • Individual permission system for each command
  • Support for command aliases (e.g., /dc for /discord)
  • Configurable cooldowns to prevent spam
  • Folia Supported!

Nested Subcommands

  • Add tab-completed subcommands to any custom command
  • Unlimited nesting depth - subcommands can have their own subcommands!
  • Individual permissions for each subcommand level
  • Smart tab completion system
  • Example: /admin player kick, /admin server restart

Arguments System

  • Add arguments to commands and subcommands
  • Use {args} variable in messages and commands
  • Whitelist support for allowed arguments
  • Required/optional argument configuration
  • Support for arguments with spaces
  • Example: /say hello, /kick Steve, /teleport Player 100 64 200

*Player Arguments (player-args)

  • Mark specific arguments as player names
  • Automatic validation - ensures players exist and are online
  • Smart tab-completion - shows all online players automatically
  • Clear error messages for invalid players
  • Works with nested subcommands
  • Example: /kick Steve (validates Steve is online)

Console Command Execution

  • Execute any server command through custom commands
  • Choose execution type: "Console" (as server) or "Player" (as user)
  • Variable replacement system:
    • {player} - Player name
    • {displayname} - Player display name
    • {world} - Player's world name
    • {x}, {y}, {z} - Player coordinates
    • {online_players} - Number of online players
    • {max_players} - Maximum players
    • {args} - Command arguments

Clickable Links

  • Support for clickable links in messages
  • Custom syntax: (Display Text)[<URL>]
  • Opens URLs in player's browser
  • Works in both main commands and subcommands

Modern Text Formatting

  • Full Kyori Adventure API integration
  • Support for hex colors (&#FF8800)
  • Legacy color codes (&6, &c, etc.)
  • JSON tellraw support with clickable elements

Advanced Features

  • Hot-reload configuration without server restart
  • Custom logging system with colored console output
  • File rotation for log files
  • Comprehensive error handling
  • Asynchronous command execution
  • Folia server support (v1.1.0+)

Example Commands

Nested Subcommands with Arguments

admin:
  permission: "customcommands.admin"
  subcommands:
    player:
      permission: "customcommands.admin.player"
      subcommands:  # Nested subcommands!
        kick:
          permission: "customcommands.admin.player.kick"
          arguments:
            player-args: [0]  # First argument = player name
            no-arguments: false
          commands:
            - "kick {args} Kicked by {player}"
        ban:
          permission: "customcommands.admin.player.ban"
          arguments:
            player-args: [0]
            no-arguments: false
          commands:
            - "ban {args} Banned by {player}"

Usage:

  • /admin player kick Steve - Kicks Steve (validates player is online)
  • /admin player ban Steve - Bans Steve (validates player is online)

Discord Command with Subcommands

discord:
  permission: "customcommands.discord"
  alias: ["dc"]
  subcommands:
    send:
      commands:
        - "msg {player} &6Discord: &bhttps://discord.gg/example"
    invite:
      message:
        - "&7Click here: (Join Discord)[<https://discord.gg/example>]"

Command with Arguments

say:
  permission: "customcommands.say"
  arguments:
    whitelist: ["hello", "goodbye", "help"]
    whitelist-only: true
    no-arguments: true
  commands:
    - "say {player}: {args}"

Usage:

  • /say hello - Valid (in whitelist)
  • /say goodbye - Valid (in whitelist)
  • /say test - Invalid (not in whitelist)

Command with Player Validation

kick:
  permission: "customcommands.kick"
  arguments:
    player-args: [0]  # First argument must be a player name
    no-arguments: false
  commands:
    - "kick {args} Kicked by {player}"

Usage:

  • /kick Steve - Valid (if Steve is online)
  • /kick InvalidPlayer - Error: "Player InvalidPlayer is not online or does not exist!"

Example Command with Console Commands

example:
  type: "Console"
  commands:
    - "say {player} used the example command!"
    - "effect give {player} minecraft:glowing 10 1 true"
    - "title {player} title [\"\",{\"text\":\"Example!\",\"color\":\"gold\"}]"

Installation

  1. Download the plugin JAR file
  2. Place it in your server's plugins folder
  3. Restart your server
  4. Configure commands in plugins/CustomCommands/config.yml
  5. Use /customcommands reload to reload configuration

Commands

  • /customcommands - Main command
  • /customcommands reload - Reload configuration
  • /customcommands help - Show help
  • /customcommands support - Show support information
  • /customcommands version - Show version info

Permissions

  • customcommands.* - All permissions
  • customcommands.use - Basic usage
  • customcommands.reload - Reload configuration
  • customcommands.commandname - Use specific command
  • customcommands.commandname.subcommand - Use specific subcommand
  • customcommands.commandname.subcommand.nested - Use nested subcommand

Configuration

The plugin creates detailed configuration files with examples and documentation:

  • config.yml - Main configuration with command definitions
    • Includes comprehensive documentation for all features
    • Examples for arguments, nested subcommands, and player-args
  • messages.yml - All plugin messages
  • logs/ - Plugin log files

Requirements & Compatibility

Compatibility Rating

  • Folia 1.21.x: Fully supported (v1.1.0+)
  • Paper 1.21.4+: Fully supported and tested
  • Paper 1.21.0-1.21.3**: Likely compatible (tested on 1.21.2-1.21.3)
  • Paper 1.20.x**: Probably compatible (not tested)
  • Paper 1.19.x: May work with minor issues (not tested)

Not Supported

  • Spigot - This plugin uses paper-plugin.yml and requires Paper-specific APIs
  • Custom Paper Forks - Use at your own risk, no support provided
  • PlugMan - Do not use PlugMan to load this plugin (Paper plugins not supported)

Important Notes

  • No Liability: The developer takes no responsibility for crashes or issues on custom Paper/Folia forks
  • Paper & Folia: This plugin is designed for Paper and Folia servers (v1.1.0+)
  • No PlugMan: Do not attempt to load this plugin with PlugMan (Plugman does not work on paper anyways)
  • Backup: Always backup your server before installing plugins
  • Testing: Test on a development server before using in production

Documentation

The configuration files include comprehensive documentation with:

  • Color code reference
  • Variable replacement guide
  • Console command examples
  • Clickable link syntax
  • Subcommand creation guide
  • Arguments system documentation
  • Nested subcommands guide
  • Player-args feature explanation

Perfect For

  • Server owners wanting custom commands with advanced features
  • Servers needing console command integration
  • Communities wanting modern text formatting
  • Administrators needing flexible command systems
  • Servers requiring player validation in commands
  • Complex command structures with nested subcommands

Bstatistics

Совместимость

Minecraft: Java Edition

1.21.x1.20.x1.19.x

Платформы

Поддерживаемые окружения

Сервер

Детали

Лицензия:Apache-2.0
Опубликован:4 месяца назад
Обновлён:3 недели назад
Главная