Skip to content

Features

The Custom Commands plugin offers a comprehensive set of features designed to give you complete control over your server’s command system. Here’s a detailed overview of what you can do:

Create as many custom commands as you need for your server. Each command can have:

  • Custom names and aliases
  • Individual permissions
  • Unique messages and responses
  • Separate cooldown settings
  • Console command execution

Add interactive elements to your commands with clickable links:

  • Discord Invites - Direct players to your Discord server
  • Website Links - Link to your website or store
  • Custom URLs - Any URL you want players to access
  • Rich Text - Combine clickable elements with formatted text

Syntax: (Display Text)[<URL>]

Example:

message:
- "&6Join our Discord: (Click here)[<https://discord.gg/2qCMn6KHj4>]"
- "&7Visit our website: (Website)[<https://example.com>]"

Execute server commands when players use your custom commands:

  • Player Variables - Use &#123;player&#125;, &#123;world&#125;, &#123;x&#125;, &#123;y&#125;, &#123;z&#125;
  • Server Variables - Access &#123;online_players&#125;, &#123;max_players&#125;
  • Display Name Support - Use &#123;displayname&#125; for formatted names
  • Full Permission Access - Commands run with console privileges

Example:

commands:
- "say &#123;player&#125; used the example command!"
- "effect give &#123;player&#125; minecraft:glowing 10 1 true"
- "title &#123;player&#125; title [\"\",{\"text\":\"Welcome!\",\"color\":\"gold\"}]"
  • Main Command Permissions - Control access to each custom command
  • Subcommand Permissions - Individual permissions for subcommands
  • Admin Permissions - Special permissions for administrators
  • Default Permissions - Sensible defaults for all permission nodes
customcommands.* # All permissions (OP only)
customcommands.use # Basic usage (default: true)
customcommands.reload # Reload configuration (OP only)
customcommands.discord # Discord command access
customcommands.discord.send # Discord send subcommand
customcommands.discord.invite # Discord invite subcommand
customcommands.discord.help # Discord help subcommand
  • Traditional Colors - &a, &c, &6, etc.
  • Hex Colors - &#FF8800, &#00FFAA, etc.
  • Formatting - Bold (&l), Italic (&o), Underline (&n)
  • Small Caps - %smcaps%Text%smreset% for special formatting
  • {prefix} - Plugin prefix (automatically replaced)
  • {player} - Player name
  • {command} - Command name
  • {time} - Cooldown time remaining
message:
- "&6&l=== Welcome ===" # Gold bold title
- "&eHello &a&#123;player&#125;&e!" # Yellow text with green player name
- "&7Click: (Discord)[<https://discord.gg/2qCMn6KHj4>]" # Clickable link
- "&7Use &e/help &7for more info" # Help hint
  • Per-Command Cooldowns - Set different cooldowns for each command
  • Player-Specific - Cooldowns are tracked per player
  • Custom Messages - Inform players about remaining cooldown time
  • Zero Cooldown - Set cooldown to 0 for instant reuse
# No cooldown
cooldown: 0
# 5 second cooldown
cooldown: 5
# 1 minute cooldown
cooldown: 60
  • Instant Reload - Use /customcommands reload to apply changes
  • No Server Restart - All changes take effect immediately
  • Safe Reload - Validates configuration before applying
  • Error Handling - Rollback to previous config if errors occur
/customcommands reload
/cc reload
  • Colored Console Output - Beautiful colored logs in server console
  • File Logging - Automatic log file creation and rotation
  • Daily Rotation - New log file created each day
  • Asynchronous Logging - No impact on server performance
  • Debug Mode - Detailed logging for troubleshooting
plugins/CustomCommands/logs/
├── latest.log # Current log file
├── 2025-01-18.log # Previous day's log
└── 2025-01-17.log # Older logs
  • Automatic Tab Completion - Players see available subcommands
  • Permission-Based - Only shows subcommands player can use
  • Nested Subcommands - Support for complex command structures
discord:
subcommands:
send:
permission: "customcommands.discord.send"
message:
- "&eSending Discord invite to your DMs!"
invite:
permission: "customcommands.discord.invite"
message:
- "&eHere's your Discord invite:"
- "&7(Join Discord)[<https://discord.gg/2qCMn6KHj4>]"
help:
permission: "customcommands.discord.help"
message:
- "&6Available subcommands:"
- "&7/discord send - Send invite to DMs"
- "&7/discord invite - Show invite link"

:::tip Advanced Subcommands For more advanced features like nested subcommands, argument validation, player-specific arguments, and command execution types, check out our Advanced Features Guide! :::

  • Asynchronous Operations - Non-blocking file operations
  • Memory Efficient - Minimal memory footprint
  • Fast Command Processing - Optimized command execution
  • Cached Configurations - Fast access to frequently used data
  • Automatic Cleanup - Proper resource cleanup on plugin disable
  • Thread Safety - Safe concurrent access to shared resources
  • Error Recovery - Graceful handling of errors and exceptions
  • Paper Command API - Modern command registration system
  • Reflection Support - Compatible with various server software
  • Event System - Hook into plugin events for custom functionality
  • YAML Configuration - Easy-to-edit configuration files
  • Automatic Creation - Config files created on first startup
  • Validation - Configuration validation and error reporting
  • Comments - Extensive comments in configuration files

The Custom Commands plugin includes powerful advanced features for creating sophisticated command systems:

  • 🔗 Nested Subcommands - Create unlimited depth command hierarchies
  • 📝 Arguments System - Validate and whitelist command arguments
  • 📋 Required Arguments - Mark individual arguments as required or optional
  • 🔢 Individual Argument Variables - Access arguments individually with {arg:1}, {arg:2}, etc.
  • 👤 Player Arguments - Automatic player name validation and tab-completion
  • ⚙️ Command Execution Types - Choose between Console and Player execution
  • 💬 Optional Messages - Commands can execute without messages (messages are optional)

:::info Learn More For detailed documentation on all advanced features, including complete examples and best practices, see our Advanced Features Guide. :::

Ready to start using these features? Check out our Installation Guide and Configuration Guide to get started!

For support and updates, join our Discord server.