style: 优化代码格式

This commit is contained in:
2024-04-15 09:21:36 +08:00
parent 8d7667f473
commit db812c13b5
2 changed files with 50 additions and 46 deletions

View File

@@ -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));

View File

@@ -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