style: 优化代码格式
This commit is contained in:
@@ -35,18 +35,6 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
|||||||
@Override
|
@Override
|
||||||
public void onEnable() {
|
public void onEnable() {
|
||||||
reload();
|
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() {
|
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
|
@Override
|
||||||
@@ -89,39 +90,6 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
switch (args[0]) {
|
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": {
|
case "run": {
|
||||||
if (args.length < 2) {
|
if (args.length < 2) {
|
||||||
sender.sendMessage("§c请输入 JavaScript 文件名称");
|
sender.sendMessage("§c请输入 JavaScript 文件名称");
|
||||||
@@ -165,6 +133,39 @@ public class HamsterScriptPlugin extends JavaPlugin {
|
|||||||
}
|
}
|
||||||
break;
|
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": {
|
case "reload": {
|
||||||
reload();
|
reload();
|
||||||
sender.sendMessage("§a插件重载完成");
|
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) {
|
public List<String> onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String alias, @NotNull String[] args) {
|
||||||
if (args.length == 1) {
|
if (args.length == 1) {
|
||||||
List<String> list = new ArrayList<>();
|
List<String> list = new ArrayList<>();
|
||||||
list.add("eval");
|
|
||||||
list.add("run");
|
list.add("run");
|
||||||
|
list.add("eval");
|
||||||
list.add("reload");
|
list.add("reload");
|
||||||
String startWith = args[0].toLowerCase();
|
String startWith = args[0].toLowerCase();
|
||||||
list.removeIf(o -> !o.startsWith(startWith));
|
list.removeIf(o -> !o.startsWith(startWith));
|
||||||
|
@@ -5,8 +5,11 @@ enable-eval-command: false
|
|||||||
import:
|
import:
|
||||||
Math: java.lang.Math
|
Math: java.lang.Math
|
||||||
String: java.lang.String
|
String: java.lang.String
|
||||||
|
|
||||||
UUID: java.util.UUID
|
UUID: java.util.UUID
|
||||||
Base64: java.util.Base64
|
Base64: java.util.Base64
|
||||||
|
ArrayList: java.util.ArrayList
|
||||||
|
|
||||||
Bukkit: org.bukkit.Bukkit
|
Bukkit: org.bukkit.Bukkit
|
||||||
Material: org.bukkit.Material
|
Material: org.bukkit.Material
|
||||||
ItemStack: org.bukkit.inventory.ItemStack
|
ItemStack: org.bukkit.inventory.ItemStack
|
||||||
|
Reference in New Issue
Block a user