feat: 允许 run 命令传参

This commit is contained in:
2024-03-19 15:24:22 +08:00
parent 22c9c25e6a
commit c8f663cad6
6 changed files with 26 additions and 14 deletions

View File

@@ -150,7 +150,9 @@ public class HamsterScriptPlugin extends JavaPlugin {
for (String simpleName : importClass.keySet()) {
bindings.put(simpleName, engine.get(simpleName));
}
String[] scriptArgs = Arrays.copyOfRange(args, 2, args.length);
bindings.put("sender", sender);
bindings.put("args", scriptArgs);
Object eval = engine.eval(code, bindings);
long time = System.currentTimeMillis() - start;
sender.sendMessage("§aJavaScript 代码执行完成, 耗时: " + time + " 毫秒");

View File

@@ -1,6 +1,15 @@
function sayHi(param) {
param.sendMessage("Hi!");
function sayHi(user, params) {
var message = "";
if (params.length == 0) {
user.sendMessage("§aHi!");
return;
}
for (i in params) {
message = message + " " + params[i];
}
user.sendMessage("§eHi:" + message);
}
// JavaScript 代码执行时,执行命令的对象(玩家或控制台)会作为 sender 变量传入
sayHi(sender);
// 执行命令的对象会作为 sender(玩家或控制台) 变量传入
// 命令后的参数会作为 args数组 变量传入
sayHi(sender, args);

View File

@@ -1,6 +0,0 @@
BUILD_ID: ${BUILD_ID}
BUILD_NUMBER: ${BUILD_NUMBER}
BUILD_DISPLAY_NAME: ${BUILD_DISPLAY_NAME}
JOB_URL: ${JOB_URL}
BUILD_URL: ${BUILD_URL}
GIT_COMMIT: ${GIT_COMMIT}

View File

@@ -5,12 +5,19 @@ api-version: 1.13
description: ${description}
author: MiniDay
CHECK_TYPE: GITEA_RELEASES
GIT_BASE_URL: https://git.airgame.net
GIT_REPO: MiniDay/hamster-script
GIT_TOKEN: a44a69a4d1b8601bf6091403247759cd28764d5e
DOWNLOAD_URL: https://jenkins.airgame.net/job/opensource/job/hamster-script/
Plugin:
# HamsterScript 需要访问其他插件的类路径
join-classpath: true
commands:
hamster-script:
aliases: [ scripts,script ]
aliases: [ hscript, scripts, script ]
permissions:
hamster.script.admin: