9
0
mirror of https://github.com/VolmitSoftware/Iris.git synced 2025-12-29 20:19:06 +00:00

Fixes for scripts

This commit is contained in:
Daniel Mills
2021-08-07 23:41:21 -04:00
parent 8e032fa26a
commit afd4820713
8 changed files with 87 additions and 25 deletions

View File

@@ -101,6 +101,7 @@ public class IrisEngine extends BlockPopulator implements Engine {
private final AtomicCache<IrisEngineData> engineData = new AtomicCache<>();
public IrisEngine(EngineTarget target, EngineCompound compound, int index) {
execution = new IrisExecutionEnvironment(this);
Iris.info("Initializing Engine: " + target.getWorld().name() + "/" + target.getDimension().getLoadKey() + " (" + target.getHeight() + " height)");
metrics = new EngineMetrics(32);
this.target = target;
@@ -120,7 +121,6 @@ public class IrisEngine extends BlockPopulator implements Engine {
Iris.callEvent(new IrisEngineHotloadEvent(this));
context = new IrisContext(this);
context.touch();
execution = new IrisExecutionEnvironment(this);
}
@Override

View File

@@ -49,6 +49,11 @@ public class IrisExecutionEnvironment implements EngineExecutionEnvironment {
}
}
@Override
public IrisScriptingAPI getAPI() {
return api;
}
public void execute(String script)
{
try {
@@ -68,20 +73,4 @@ public class IrisExecutionEnvironment implements EngineExecutionEnvironment {
return null;
}
@Override
public void execute(String script, double x, double y, double z) {
api.setX(x);
api.setY(y);
api.setZ(z);
execute(script);
}
@Override
public Object evaluate(String script, double x, double y, double z) {
api.setX(x);
api.setY(y);
api.setZ(z);
return evaluate(script);
}
}

View File

@@ -25,16 +25,14 @@ public interface EngineExecutionEnvironment
{
Engine getEngine();
IrisScriptingAPI getAPI();
BSFManager getManager();
void execute(String script);
Object evaluate(String script);
void execute(String script, double x, double y, double z);
Object evaluate(String script, double x, double y, double z);
default void close()
{

View File

@@ -20,6 +20,7 @@ package com.volmit.iris.engine.scripting;
import com.volmit.iris.Iris;
import com.volmit.iris.core.project.loader.IrisData;
import com.volmit.iris.core.project.loader.IrisRegistrant;
import com.volmit.iris.engine.IrisComplex;
import com.volmit.iris.engine.framework.Engine;
import com.volmit.iris.engine.framework.EngineFramework;
@@ -31,6 +32,7 @@ import lombok.Data;
@Data
public class IrisScriptingAPI {
private final Engine engine;
private IrisRegistrant preprocessorObject;
private double x = 0;
private double y = 0;
private double z = 0;