St3ix Commands
1.1.4A powerful custom commands plugin with subcommands, console command execution, and clickable links. Create unlimited custom commands with variable replacement, permissions, and modern text formatting
1.1.4latestCustomCommands 1.1.4Feb 2, 2026 Custom Commands v1.1.4 - Folia Player Commands Fix
Fixed the error when using type: "Player" commands on Folia servers.Bug Fix: Player-Type Commands on Folia
Folia "Thread failed main thread check: Dispatching command async" - Error:What Was Fixed
Thread failed main thread check: Dispatching command asyncwhen players used commands withtype: "Player"- Issue: Player-type commands were scheduled on the global region; Folia requires them to run on the entity's region - Fix: Player-type commands now use EntityScheduler (player's region); console-type commands still use GlobalRegionScheduler - Impact: Only affected Folia servers using type: "Player" in custom commands
-What This Means
Player-type commands (e.g.
/pomoc,/home) now work on Folia -Console-type commands unchanged and still work -
No config changes needed
Update to v1.1.4 – existing configs work as before. --- Full Changelog: - Fixed "Dispatching command async" when executing player-type commands on Folia - Use EntityScheduler for type: "Player", GlobalRegionScheduler for type: "Console" on FoliaInstallation
1.1.3CustomCommands 1.1.3Feb 2, 2026 Custom Commands v1.1.3 - Critical Bugfixes
Fixed two critical bugs that were preventing commands from working properly!Bug Fixes: Folia Command Execution & Command Registration
1. Folia Command Execution Error - Error:What Was Fixed
NoSuchMethodException: io.papermc.paper.threadedregions.scheduler.GlobalRegionScheduler.get(org.bukkit.plugin.Plugin)- Issue: Commands failed to execute on Folia 1.21.11 servers due to incorrect API method usage - Fix: Updated to use the correct Folia API:Bukkit.getServer().getGlobalRegionScheduler().run(Plugin, Consumer<ScheduledTask>)- Impact: This bug only affected Folia 1.21.11+ servers - Paper servers were not affected 2. Command Registration Failure - Issue: Custom commands weren't registering at all - commands like/discordor/websitedid nothing - Symptoms: No errors in console, but commands simply didn't work - Fix: - Fixed command registration logic to properly handle aliases - Improved command cleanup before registration (prevents conflicts) - Added better debug logging to track registration issues - Impact: This bug affected all server types - Paper and Folia
-What This Means
Commands now execute correctly on Folia servers -
Commands now properly register and work as expected -
Better error handling and debug logging for troubleshooting -
No changes needed to your configuration -
All existing features work as expected
Simply update to v1.1.3 - your configs work exactly as before! --- Full Changelog: - FixedInstallation
NoSuchMethodExceptionwhen executing commands on Folia 1.21.11+ servers - Updated Folia API usage toBukkit.getServer().getGlobalRegionScheduler().run(Plugin, Consumer<ScheduledTask>)- Fixed command registration failure - commands now properly register - Improved alias handling - commands work correctly with aliases - Added better debug logging for command registration - Improved command cleanup before registration to prevent conflicts - Enhanced error messages for better debugging Need help? Join our Discord1.1.2CustomCommands 1.1.2Dec 16, 2025 Custom Commands v1.1.2 - Folia Bugfix
Fixed a critical bug that prevented commands from executing on Folia servers!Bug Fix: Folia Command Execution
Folia Command Execution Error - Error:What Was Fixed
NoSuchMethodException: io.papermc.paper.threadedregions.scheduler.GlobalRegionScheduler.getScheduler()- Issue: Commands failed to execute on Folia servers due to incorrect API usage - Fix: Updated to use the correct Folia API:GlobalRegionScheduler.get(plugin).run(Runnable)- Impact: This bug only affected Folia servers - Paper servers were not affected
-What This Means
Commands now execute correctly on Folia servers -
No changes needed to your configuration -
All existing features work as expected -
Improved error handling for better debugging
Simply update to v1.1.2 - your configs work exactly as before! --- Full Changelog: - FixedInstallation
NoSuchMethodExceptionwhen executing commands on Folia servers - Updated Folia API usage toGlobalRegionScheduler.get(plugin).run(Runnable)- Improved error messages for better debugging - This fix only affects Folia servers - Paper/Spigot servers were not impacted Need help? Join our Discord: [https://discord.gg/ypa7Gvn433](https://discord.gg/ypa7Gvn…1.1.1CustomCommands [Folia Support] 1.1.1Dec 8, 2025 Custom Commands v1.1.1 - Required Arguments & Individual Argument Variables
We've added powerful new argument handling features that make commands even more flexible!New Feature: Required/Optional Arguments
####New Features
Required Arguments Support - Mark individual arguments as required using
required-args: [0]- First argument required, second optional? Now possible! - Perfect for commands like/ah sell <price> [amount]- Clear error messages when required arguments are missing ####Individual Argument Variables - New variables:
{arg:1},{arg:2},{arg:3}, etc. - Access each argument individually (1-based index) - `{arg:1}` = First argument - `{arg:2}` = Second argument (empty string if not provided) - `{arg:N}` = Nth argument - `{args}` = All arguments as string (backward compatible)Example Usage
Usage: -ah: subcommands: sell: # /ah sell <price> [amount] arguments: required-args: [0] # First argument (price) is REQUIRED no-arguments: false commands: - "tellraw {player} [\"\",{\"text\":\"Price: \",\"color\":\"gold\"},{\"text\":\"{arg:1}\",\"color\":\"green\"}]" # {arg:1} = price (required) # {arg:2} = amount (optional, empty if not provided)/ah sell 100→{arg:1}="100",{arg:2}=""-/ah sell 100 64→{arg:1}="100",{arg:2}="64"-/ah sell→ Error: "Usage: /ah sell <price> [amount]"
- Enhanced argument validation system - Individual argument extraction and processing - Improved variable replacement in messages and commands - Better error messages for missing required argumentsTechnical Improvements
- AddedWhat Changed
required-argsconfiguration option - Implemented individual argument variables ({arg:1},{arg:2}, etc.) - Enhanced argument validation to check required arguments - Updated variable replacement system
-Compatibility
Fully backward compatible - All existing
{args}usage still works -No breaking changes - Existing configurations work as before -
Optional feature - Only use if you need required/optional arguments
Simply update to v1.1.1 - no configuration changes needed! Your existing commands will work exactly as before. --- Full Changelog: - AddedInstallation
required-argsconfiguration option for marking individual arguments as required - Implemented individual argument variables:{arg:1},{arg:2},{arg:3}, etc. - Enhanced argument validation to check for required arguments - Improved variable replacement system for better argument handling - Updated documentation with new examples Need help? Join our Discord: [https://discord.gg/2a4a3mWR4r](https://discord.gg/2a4a3mW…1.1.0CustomCommands 1.1.0Nov 18, 2025 Custom Commands v1.1.0 - Folia Support & bStats Integration
We're excited to announce full Folia support! Custom Commands now works seamlessly on both Paper and Folia servers.Major Update: Folia Compatibility
####New Features
Folia Support - Full Folia compatibility - Works on Folia servers without any issues - Automatic detection and proper scheduler usage - No configuration needed - it just works!
- Smart Scheduler Detection: Automatically uses the correct scheduler for your server type - Reflection-based Folia Support: No additional dependencies required - Improved Error Handling: Better error messages and loggingTechnical Improvements
- AddedWhat Changed
folia-supported: trueto plugin.yml - Implemented Folia scheduler detection in command execution - Integrated bStats metrics with custom charts - Enhanced logging for better debugging
-Compatibility
Paper 1.21.x: Fully supported -
Folia 1.21.x: Now fully supported! -
Backward Compatible: All existing configurations work as before
Simply update to v1.1.0 - no configuration changes needed! Your existing commands will work exactly as before.Installation
- Fixed scheduler compatibility issues - Improved command execution reliability Full Changelog: - Added Folia server support - Improved scheduler detection and usage - Enhanced error handling and logging Need help? Join our Discord: [https://discord.gg/2a4a3mWR4r](https://discord.gg/2a4a3mW…Bug Fixes
1.0.3CustomCommands 1.0.3Nov 17, 2025 I found a major problem in the plugin that was mishandling commands.1.0.2CustomCommands 1.0.2Nov 16, 2025 Custom Commands Major Update - Arguments, Nesting & Player Validation
We've added three powerful features that make custom commands more flexible and user-friendly!New Features
Dynamic Command Arguments - Add arguments to any custom command or subcommand - UseFeature 1: Arguments System
{args}variable in messages and commands to access arguments - Configure whitelists, validation, and required arguments - Support for arguments with spaces Configuration:
Example:arguments: whitelist: ["hello", "goodbye"] # Allowed arguments whitelist-only: true # Only allow whitelisted args no-arguments: true # Allow command without args invalid-message: "&cInvalid arguments!"say: arguments: whitelist: ["hello", "goodbye", "help"] whitelist-only: true commands: - "say {player}: {args}" # Use {args} in commands
Unlimited Command Nesting - Subcommands can now have their own subcommands (unlimited depth!) - Perfect for organizing complex command structures - Each level has its own permissions and messages Example:Feature 2: Nested Subcommands
Usage: -admin: subcommands: player: subcommands: # Nested subcommands! kick: commands: - "kick {args} Kicked by admin" ban: commands: - "ban {args} Banned by admin"/admin player kick Steve- Kicks a player -/admin player ban Steve- Bans a player -/admin server restart- Restarts the server
Automatic Player Validation - Mark specific arguments as player names usingFeature 3: Player Arguments (
player-args)player-args: [0]- Automatic validation ensures players exist and are online - Smart tab-completion shows all online players - Clear error messages for invalid players Configuration:
Features: -kick: arguments: player-args: [0] # First argument = player name no-arguments: false commands: - "kick {args} Kicked by {player}"Prevents typos and invalid player names -
Faster command usage with tab-completion -
Works with nested subcommands -
Multiple player arguments supported:
player-args: [0, 1]
All three features work together perfectly:Combined Example
Usage:admin: permission: "customcommands.admin" subcommands: player: permission: "customcommands.admin.player" subcommands: # Nested subcommands kick: permission: "customcommands.admin.player.kick" arguments: player-args: [0] # Player validation no-arguments: false commands: - "kick {args} Kicked by {player}"/admin player kick Steve- Uses nested subcommands (admin→player→kick) - Validates thatSteveis a valid online player - Executes the kick command with the player name
Arguments System: -Benefits
Flexible command input -
Input validation -
Whitelist support -
Use arguments in messages and commands Nested Subcommands: -
Better command organization -
Unlimited nesting depth -
Individual permissions per level -
Clean command structure Player Arguments: -
Automatic player validation -
Tab-completion for players -
Error prevention -
Better user experience --- Full Changelog: - Added arguments system with whitelist and validation support - Implemented nested subcommands (unlimited depth) - Added
player-argsconfiguration for automatic player name validation - Implemented automatic tab-completion for player arguments - Added player-specific error messages - Fixed spam issue with tellraw commands - Improved argument handling and validation - Enhanced tab-completion system1.0.1CustomCommands 1.0.1Nov 15, 2025 Custom Commands v1.0.1 Update
New Feature: Command Type System
You can now control how commands are executed when using custom commands! - Console Type (default): Commands execute as server console with full permissions - Player Type: Commands execute as the player who used the command (respects player permissions)Console vs Player Execution
Console Type - Perfect for admin commands: - Give effects, teleport players, kick/ban - Works even if player doesn't have permission Player Type - Perfect for plugin integration: - Execute commands likeUse Cases
/home,/warp,/balance,/spawn- Player needs permission for the command to workExample Usage
# Player executes /balance when using /hi hi: type: "Player" commands: - "/balance" message: - "&eChecking your balance..."# Console executes effect command (works without player permission) glow: type: "Console" commands: - "effect give {player} minecraft:glowing 10 1 true" message: - "&eYou are now glowing!"
If you're upgrading from v1.0.0, you need to update yourUpgrade Guide
config.yml:1. Change Field Name
Change:console_commands:→commands:2. Add Type Field (Optional)
Add thetypefield to control command execution. If not specified, defaults to"Console". Example:
Steps: 1. Replace all# Old (v1.0.0) example: console_commands: - "/balance" - "effect give {player} minecraft:glowing 10 1 true" # New (v1.0.1) - Console Type (default) example: type: "Console" # Optional: defaults to "Console" if not specified commands: - "/balance" - "effect give {player} minecraft:glowing 10 1 true" # New (v1.0.1) - Player Type example: type: "Player" # Commands execute as the player commands: - "/balance" # Player needs permission for /balanceconsole_commands:withcommands:in your config 2. (Optional) Addtype: "Console"ortype: "Player"to each command that hascommands:3. Iftypeis not specified, it defaults to"Console"(same behavior as before) The field name change makes more sense since commands can now execute as either Console or Player depending on thetypesetting.
- Commands are executed on the main server thread - Full variable support:Technical Details
{player},{world},{x},{y},{z}, etc. - Works with all Minecraft commands and plugin commands - Thread-safe and performance optimized
- Discord: [Join our Discord](https://discord.gg/vwrZFyzN)Links
1.0.0CustomCommands 1.0.0Oct 26, 2025 Custom Commands Plugin v1.0.0
First stable release of our powerful custom commands system for Paper servers!Initial Release
- Custom Commands with permissions, aliases, and cooldowns - Subcommands with tab completion - Console Commands with variable replacement ({player}, {world}, {x}, {y}, {z}) - Clickable Links using (Text)[<URL>] syntax - Modern Text formatting with hex colors - Hot Reload configuration without restart - Permission System for commands and subcommandsFeatures
-Example Commands
/discord- Discord server with clickable links -/example- Console command execution demo -/rules- Server rules display
- Paper 1.21.4+ (tested on 1.21.2-1.21.4) - Java 21+ - No deprecated APIs - Future-proof design Ready for production use! Perfect for server owners wanting advanced custom commands. Discord: [https://discord.gg/2qCMn6KHj4](https://discord.gg/2qCMn6K…Requirements
Similar projects
Plugin →VeinMiner
Mine the whole vein on mining a single ore/block. Make the tedious mining experience to something satisfying and fun! FTB Ultimine alternative
102.9MSueta
Simple Voice Chat
A working voice chat in Minecraft!
76.3MSueta
Chunky
Pre-generates chunks, quickly and efficiently
20.8MSueta
VeinMiner Enchantment
Veinminer Addon - Adds vineminer enchantment to enchanting tables. Only tools with the enchantment can veinmine
18MSueta
JourneyMap
Real-time map used for mapping in-game or your browser as you explore.
14.7MSueta
WorldEdit
A Minecraft Map Editor... that runs in-game! With selections, schematics, copy and paste, brushes, and scripting. Use it in creative, or use it temporarily in survival.
11.6MSueta