style: 优化代码格式
This commit is contained in:
@@ -35,18 +35,6 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
||||
@Override
|
||||
public void onEnable() {
|
||||
reload();
|
||||
codeFolder = new File(getDataFolder(), "code");
|
||||
if (codeFolder.mkdirs()) {
|
||||
getLogger().info("创建代码文件夹: " + codeFolder.getAbsolutePath());
|
||||
try {
|
||||
Files.copy(
|
||||
Objects.requireNonNull(getResource("code/example.js")),
|
||||
new File(codeFolder, "example.js").toPath(),
|
||||
StandardCopyOption.REPLACE_EXISTING
|
||||
);
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
@@ -76,6 +64,19 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
codeFolder = new File(getDataFolder(), "code");
|
||||
if (codeFolder.mkdirs()) {
|
||||
getLogger().info("创建代码文件夹: " + codeFolder.getAbsolutePath());
|
||||
try {
|
||||
Files.copy(
|
||||
Objects.requireNonNull(getResource("code/example.js")),
|
||||
new File(codeFolder, "example.js").toPath(),
|
||||
StandardCopyOption.REPLACE_EXISTING
|
||||
);
|
||||
} catch (IOException ignored) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -89,39 +90,6 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
||||
return true;
|
||||
}
|
||||
switch (args[0]) {
|
||||
case "eval": {
|
||||
if (!enableEvalCommand) {
|
||||
sender.sendMessage("§c当前不允许直接执行 JavaScript");
|
||||
return true;
|
||||
}
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage("§c请输入 JavaScript 代码内容");
|
||||
return true;
|
||||
}
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (int i = 1; i < args.length; i++) {
|
||||
builder.append(args[i]).append(" ");
|
||||
}
|
||||
String code = builder.toString();
|
||||
long start = System.currentTimeMillis();
|
||||
try {
|
||||
Bindings bindings = engine.createBindings();
|
||||
for (String simpleName : importClass.keySet()) {
|
||||
bindings.put(simpleName, engine.get(simpleName));
|
||||
}
|
||||
bindings.put("sender", sender);
|
||||
Object eval = engine.eval(code, bindings);
|
||||
long time = System.currentTimeMillis() - start;
|
||||
sender.sendMessage("§aJavaScript 代码执行完成, 耗时: " + time + " 毫秒");
|
||||
sender.sendMessage("§a返回值: §f" + eval);
|
||||
} catch (Exception e) {
|
||||
long time = System.currentTimeMillis() - start;
|
||||
sender.sendMessage("§cJavaScript 代码执行出错, 耗时: " + time + " 毫秒");
|
||||
sender.sendMessage("§c异常原因: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "run": {
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage("§c请输入 JavaScript 文件名称");
|
||||
@@ -165,6 +133,39 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "eval": {
|
||||
if (!enableEvalCommand) {
|
||||
sender.sendMessage("§c当前不允许直接执行 JavaScript");
|
||||
return true;
|
||||
}
|
||||
if (args.length < 2) {
|
||||
sender.sendMessage("§c请输入 JavaScript 代码内容");
|
||||
return true;
|
||||
}
|
||||
StringBuilder builder = new StringBuilder();
|
||||
for (int i = 1; i < args.length; i++) {
|
||||
builder.append(args[i]).append(" ");
|
||||
}
|
||||
String code = builder.toString();
|
||||
long start = System.currentTimeMillis();
|
||||
try {
|
||||
Bindings bindings = engine.createBindings();
|
||||
for (String simpleName : importClass.keySet()) {
|
||||
bindings.put(simpleName, engine.get(simpleName));
|
||||
}
|
||||
bindings.put("sender", sender);
|
||||
Object eval = engine.eval(code, bindings);
|
||||
long time = System.currentTimeMillis() - start;
|
||||
sender.sendMessage("§aJavaScript 代码执行完成, 耗时: " + time + " 毫秒");
|
||||
sender.sendMessage("§a返回值: §f" + eval);
|
||||
} catch (Exception e) {
|
||||
long time = System.currentTimeMillis() - start;
|
||||
sender.sendMessage("§cJavaScript 代码执行出错, 耗时: " + time + " 毫秒");
|
||||
sender.sendMessage("§c异常原因: " + e.getMessage());
|
||||
e.printStackTrace();
|
||||
}
|
||||
break;
|
||||
}
|
||||
case "reload": {
|
||||
reload();
|
||||
sender.sendMessage("§a插件重载完成");
|
||||
@@ -183,8 +184,8 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
||||
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) {
|
||||
if (args.length == 1) {
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("eval");
|
||||
list.add("run");
|
||||
list.add("eval");
|
||||
list.add("reload");
|
||||
String startWith = args[0].toLowerCase();
|
||||
list.removeIf(o -> !o.startsWith(startWith));
|
||||
|
@@ -5,8 +5,11 @@ enable-eval-command: false
|
||||
import:
|
||||
Math: java.lang.Math
|
||||
String: java.lang.String
|
||||
|
||||
UUID: java.util.UUID
|
||||
Base64: java.util.Base64
|
||||
ArrayList: java.util.ArrayList
|
||||
|
||||
Bukkit: org.bukkit.Bukkit
|
||||
Material: org.bukkit.Material
|
||||
ItemStack: org.bukkit.inventory.ItemStack
|
||||
|
Reference in New Issue
Block a user