Console injection fix
This commit is contained in:
@@ -41,21 +41,9 @@ public class Scripts implements Disposable{
|
|||||||
return errored;
|
return errored;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String injectConsoleVariables(){
|
|
||||||
//FIXME: this may cause issues if someone tries to use the variables in their own code multiple times. Investigate potential issues with this system.
|
|
||||||
return
|
|
||||||
"var unit = Vars.player.unit();" +
|
|
||||||
"var team = Vars.player.team();" +
|
|
||||||
"var core = Vars.player.core();" +
|
|
||||||
"var items = Vars.player.team().items();" +
|
|
||||||
"var build = Vars.world.buildWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());" +
|
|
||||||
"var cursor = Vars.world.tileWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());" +
|
|
||||||
"\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
public String runConsole(String text){
|
public String runConsole(String text){
|
||||||
try{
|
try{
|
||||||
Object o = context.evaluateString(scope, injectConsoleVariables() + text, "console.js", 1);
|
Object o = context.evaluateString(scope, text, "console.js", 1);
|
||||||
if(o instanceof NativeJavaObject n) o = n.unwrap();
|
if(o instanceof NativeJavaObject n) o = n.unwrap();
|
||||||
if(o == null) o = "null";
|
if(o == null) o = "null";
|
||||||
|
|
||||||
|
|||||||
@@ -173,7 +173,18 @@ public class ConsoleFragment extends Table{
|
|||||||
history.insert(1, message);
|
history.insert(1, message);
|
||||||
|
|
||||||
addMessage("[lightgray]> " + message.replace("[", "[["));
|
addMessage("[lightgray]> " + message.replace("[", "[["));
|
||||||
addMessage(mods.getScripts().runConsole(message).replace("[", "[["));
|
addMessage(mods.getScripts().runConsole(injectConsoleVariables() + message).replace("[", "[["));
|
||||||
|
}
|
||||||
|
|
||||||
|
public String injectConsoleVariables(){
|
||||||
|
return
|
||||||
|
"var unit = Vars.player.unit();" +
|
||||||
|
"var team = Vars.player.team();" +
|
||||||
|
"var core = Vars.player.core();" +
|
||||||
|
"var items = Vars.player.team().items();" +
|
||||||
|
"var build = Vars.world.buildWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());" +
|
||||||
|
"var cursor = Vars.world.tileWorld(Core.input.mouseWorldX(), Core.input.mouseWorldY());" +
|
||||||
|
"\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
public void toggle(){
|
public void toggle(){
|
||||||
|
|||||||
Reference in New Issue
Block a user