feat: 允许 run 命令传参
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
# hamster-script
|
# hamster-script
|
||||||
|
|
||||||
为Minecraft服务器导入 [OpenJDK Nashorn](https://github.com/openjdk/nashorn) 引擎来执行 JavaScript 脚本
|
为Minecraft服务器导入 [Nashorn](https://github.com/openjdk/nashorn) 引擎来执行 JavaScript 脚本
|
||||||
|
|
||||||
# 手动构建
|
# 手动构建
|
||||||
|
|
||||||
|
@@ -6,8 +6,8 @@ plugins {
|
|||||||
}
|
}
|
||||||
|
|
||||||
group = "cn.hamster3.mc.plugin"
|
group = "cn.hamster3.mc.plugin"
|
||||||
version = "1.0.5"
|
version = "1.0.6"
|
||||||
description = "为Minecraft服务器导入 OpenJDK Nashorn 引擎来执行 JavaScript 脚本"
|
description = "为Minecraft服务器导入 Nashorn 引擎来执行 JavaScript 脚本"
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
maven {
|
maven {
|
||||||
|
@@ -150,7 +150,9 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
|||||||
for (String simpleName : importClass.keySet()) {
|
for (String simpleName : importClass.keySet()) {
|
||||||
bindings.put(simpleName, engine.get(simpleName));
|
bindings.put(simpleName, engine.get(simpleName));
|
||||||
}
|
}
|
||||||
|
String[] scriptArgs = Arrays.copyOfRange(args, 2, args.length);
|
||||||
bindings.put("sender", sender);
|
bindings.put("sender", sender);
|
||||||
|
bindings.put("args", scriptArgs);
|
||||||
Object eval = engine.eval(code, bindings);
|
Object eval = engine.eval(code, bindings);
|
||||||
long time = System.currentTimeMillis() - start;
|
long time = System.currentTimeMillis() - start;
|
||||||
sender.sendMessage("§aJavaScript 代码执行完成, 耗时: " + time + " 毫秒");
|
sender.sendMessage("§aJavaScript 代码执行完成, 耗时: " + time + " 毫秒");
|
||||||
|
@@ -1,6 +1,15 @@
|
|||||||
function sayHi(param) {
|
function sayHi(user, params) {
|
||||||
param.sendMessage("Hi!");
|
var message = "";
|
||||||
|
if (params.length == 0) {
|
||||||
|
user.sendMessage("§aHi!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (i in params) {
|
||||||
|
message = message + " " + params[i];
|
||||||
|
}
|
||||||
|
user.sendMessage("§eHi:" + message);
|
||||||
}
|
}
|
||||||
|
|
||||||
// JavaScript 代码执行时,执行命令的对象(玩家或控制台)会作为 sender 变量传入
|
// 执行命令的对象会作为 sender(玩家或控制台) 变量传入
|
||||||
sayHi(sender);
|
// 命令后的参数会作为 args(数组) 变量传入
|
||||||
|
sayHi(sender, args);
|
||||||
|
@@ -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}
|
|
@@ -5,12 +5,19 @@ api-version: 1.13
|
|||||||
description: ${description}
|
description: ${description}
|
||||||
author: MiniDay
|
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:
|
Plugin:
|
||||||
|
# HamsterScript 需要访问其他插件的类路径
|
||||||
join-classpath: true
|
join-classpath: true
|
||||||
|
|
||||||
commands:
|
commands:
|
||||||
hamster-script:
|
hamster-script:
|
||||||
aliases: [ scripts,script ]
|
aliases: [ hscript, scripts, script ]
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
hamster.script.admin:
|
hamster.script.admin:
|
||||||
|
Reference in New Issue
Block a user