Script. Please check this. This is probably wrong.

This commit is contained in:
CocoTheOwner 2021-08-13 22:57:02 +02:00
parent b1278aff2e
commit e8ac971f9e
3 changed files with 21 additions and 2 deletions

View File

@ -19,6 +19,8 @@
package com.volmit.iris.core.decrees;
import com.volmit.iris.Iris;
import com.volmit.iris.core.tools.IrisToolbelt;
import com.volmit.iris.engine.object.common.IrisScript;
import com.volmit.iris.engine.object.dimensional.IrisDimension;
import com.volmit.iris.util.decree.DecreeExecutor;
import com.volmit.iris.util.decree.DecreeOrigin;
@ -119,4 +121,13 @@ public class DecIrisStudio implements DecreeExecutor
sender().sendMessage("Cant find the file. Unsure why this happened.");
}
}
@Decree(description = "Execute a script", aliases = {"ex", "exec", "run"}, origin = DecreeOrigin.PLAYER)
public void execute(
@Param(name = "script", description = "The script to run", aliases = {"s", "scr"})
IrisScript script
)
{
IrisToolbelt.access(sender().player().getWorld()).getEngine().getExecution().execute(script);
}
}

View File

@ -20,6 +20,7 @@ package com.volmit.iris.engine;
import com.volmit.iris.Iris;
import com.volmit.iris.engine.framework.Engine;
import com.volmit.iris.engine.object.common.IrisScript;
import com.volmit.iris.engine.scripting.EngineExecutionEnvironment;
import com.volmit.iris.engine.scripting.IrisScriptingAPI;
import com.volmit.iris.util.format.C;
@ -54,9 +55,13 @@ public class IrisExecutionEnvironment implements EngineExecutionEnvironment {
}
public void execute(String script) {
Iris.debug("Execute Script (void) " + C.DARK_GREEN + script);
execute(getEngine().getData().getScriptLoader().load(script));
}
public void execute(IrisScript script) {
Iris.debug("Execute Script (void) " + C.DARK_GREEN + script.getLoadKey());
try {
javaScriptEngine.exec("", 0, 0, getEngine().getData().getScriptLoader().load(script));
javaScriptEngine.exec("", 0, 0, script);
} catch (BSFException e) {
e.printStackTrace();
}

View File

@ -19,6 +19,7 @@
package com.volmit.iris.engine.scripting;
import com.volmit.iris.engine.framework.Engine;
import com.volmit.iris.engine.object.common.IrisScript;
import org.apache.bsf.BSFManager;
public interface EngineExecutionEnvironment {
@ -30,6 +31,8 @@ public interface EngineExecutionEnvironment {
void execute(String script);
void execute(IrisScript script);
Object evaluate(String script);
default void close() {