diff --git a/pom.xml b/pom.xml
index a3ba439..b503d68 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,7 @@
org.yaml
snakeyaml
- 2.0
+ 1.29
diff --git a/src/main/java/me/chayapak1/chomens_bot/Bot.java b/src/main/java/me/chayapak1/chomens_bot/Bot.java
index 75e481f..9c1fd24 100644
--- a/src/main/java/me/chayapak1/chomens_bot/Bot.java
+++ b/src/main/java/me/chayapak1/chomens_bot/Bot.java
@@ -43,6 +43,7 @@ public class Bot {
@Getter private final HashingPlugin hashing;
@Getter private final MusicPlayerPlugin music;
@Getter private final TPSPlugin tps;
+ @Getter private final EvalRunnerPlugin eval;
public Bot (String host, int port, String _username, boolean kaboom, List allBots, Configuration config) {
this.host = host;
@@ -63,6 +64,7 @@ public class Bot {
this.hashing = new HashingPlugin(this);
this.music = new MusicPlayerPlugin(this);
this.tps = new TPSPlugin(this);
+ this.eval = new EvalRunnerPlugin(this);
reconnect();
}
diff --git a/src/main/java/me/chayapak1/chomens_bot/Main.java b/src/main/java/me/chayapak1/chomens_bot/Main.java
index 7b68621..f0bd504 100644
--- a/src/main/java/me/chayapak1/chomens_bot/Main.java
+++ b/src/main/java/me/chayapak1/chomens_bot/Main.java
@@ -1,6 +1,7 @@
package me.chayapak1.chomens_bot;
import me.chayapak1.chomens_bot.plugins.ConsolePlugin;
+import org.yaml.snakeyaml.LoaderOptions;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
diff --git a/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java b/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java
index 7da273d..3d04896 100644
--- a/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java
+++ b/src/main/java/me/chayapak1/chomens_bot/commands/ServerEvalCommand.java
@@ -4,10 +4,7 @@ import me.chayapak1.chomens_bot.command.Command;
import me.chayapak1.chomens_bot.command.CommandContext;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
-import org.luaj.vm2.Globals;
import org.luaj.vm2.LuaValue;
-import org.luaj.vm2.lib.jse.CoerceJavaToLua;
-import org.luaj.vm2.lib.jse.JsePlatform;
import java.util.ArrayList;
import java.util.List;
@@ -39,13 +36,7 @@ public class ServerEvalCommand implements Command {
public Component execute(CommandContext context, String[] args, String[] fullArgs) {
try {
- Globals globals = JsePlatform.standardGlobals();
-
- globals.set("bot", CoerceJavaToLua.coerce(context.bot()));
-
- LuaValue chunk = globals.load(String.join(" ", args));
-
- LuaValue output = chunk.call();
+ final LuaValue output = context.bot().eval().run(String.join(" ", args));
context.sendOutput(Component.text(output.toString()).color(NamedTextColor.GREEN));
} catch (Exception e) {
diff --git a/src/main/java/me/chayapak1/chomens_bot/plugins/EvalRunnerPlugin.java b/src/main/java/me/chayapak1/chomens_bot/plugins/EvalRunnerPlugin.java
new file mode 100644
index 0000000..4e420ad
--- /dev/null
+++ b/src/main/java/me/chayapak1/chomens_bot/plugins/EvalRunnerPlugin.java
@@ -0,0 +1,22 @@
+package me.chayapak1.chomens_bot.plugins;
+
+import lombok.Getter;
+import me.chayapak1.chomens_bot.Bot;
+import org.luaj.vm2.Globals;
+import org.luaj.vm2.LuaValue;
+import org.luaj.vm2.lib.jse.CoerceJavaToLua;
+import org.luaj.vm2.lib.jse.JsePlatform;
+
+public class EvalRunnerPlugin {
+ @Getter private final Globals globals = JsePlatform.standardGlobals();
+
+ public EvalRunnerPlugin (Bot bot) {
+ globals.set("bot", CoerceJavaToLua.coerce(bot));
+ }
+
+ public LuaValue run (String code) {
+ LuaValue chunk = globals.load(code);
+
+ return chunk.call();
+ }
+}