Compare commits

...

4 Commits
0.2 ... main

Author SHA1 Message Date
978edd889f Update README.md 2025-06-03 10:59:01 +00:00
6c872cdd10 0.2.1 2025-05-28 15:56:48 +00:00
a06a87c2f9 Bugfix 2025-05-28 15:56:29 +00:00
0e412a660f Update README.md 2025-05-26 12:51:49 +00:00
3 changed files with 21 additions and 6 deletions

View File

@ -1,3 +1,18 @@
# Exec
Makes possible to run external scripts via commands.
Exec is a Minecraft server plugin that makes possible to run external scripts via commands. The scripts can be written with Bash or Python for example and the code changes don't need a server restart.
[PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) is required. You might also want to use [mcrcon](https://github.com/Tiiffi/mcrcon) for script output.
## Config
commands:
examplecommand:
script: "/path/to/your/script %player_name% %args%"
permission: "exec.example"
The Exec config looks like this. You can use the following placeholders:
* %args% means all arguments provided to the command.
* %arg_1%, %arg_2% can be used to read arguments too.
* PlaceholderAPI is supported (and usually required). %player_name% is the most useful one.
You can use `/exec reload` to reload the config.

View File

@ -1,6 +1,6 @@
name: Exec
description: Makes possible to run external scripts via commands.
version: 0.2
version: 0.2.1
author: Ardakaz
main: net.ardakaz.exec.Exec
api-version: 1.21

View File

@ -67,16 +67,16 @@ public class Exec extends JavaPlugin {
return true;
}
// Placeholders to script
String cmdToRun = PlaceholderAPI.setPlaceholders(player, script);
// Args to script
cmdToRun = cmdToRun.replace("%args%", execArgs);
String cmdToRun = script.replace("%args%", execArgs);
for(int i = 0; i < args.length; ++i) {
cmdToRun = cmdToRun.replace("%arg_" + (i + 1) + "%", args[i]);
}
// Placeholders to script
cmdToRun = PlaceholderAPI.setPlaceholders(player, cmdToRun);
// Execution
getLogger().info("Executing " + cmdToRun);
try {