public LuaValue getPackage(String packageName) { return globals.get(packageName); }
public LuaValue getPackage(String packageName) { return globals.get(packageName); }
public LuaValue getFunction(String functionName) { return globals.get(functionName); }
public LuaValue getFunction(String functionName) { return globals.get(functionName); }
@Override public void runFunction(String functionName) { LuaValue v = mGlobals.get(functionName); if (v != null) { v.call(); } }
public void call(String functionName, LuaValue[] args) { globals.get(functionName).invoke(args); }
public void call(String functionName, LuaValue[] args) { globals.get(functionName).invoke(args); }
private void stubExecuteModule() { // don't need module isolation final LuaValue mw = globals.get("mw"); mw.set("executeModule", new VarArgFunction() { @Override public Varargs invoke(Varargs args) { LuaFunction chunk = args.arg(1).checkfunction(); LuaValue name = args.arg(2); final LuaValue res = chunk.call(); if (name.isnil()) { return LuaValue.varargsOf(new LuaValue[]{LuaValue.TRUE, res}); } else { if (!res.istable()) { return LuaValue.varargsOf(new LuaValue[]{FALSE, toLuaString(res.typename())}); } else { return LuaValue.varargsOf(new LuaValue[]{LuaValue.TRUE, res.checktable().get(name)}); } } } }); }
public Varargs invoke(Varargs args) { LuaValue tostring = globals.get("tostring"); StringBuilder sb = new StringBuilder(); for (int i = 1, n = args.narg(); i <= n; i++) { if (i > 1) { sb.append('\t'); } LuaString s = tostring.call(args.arg(i)).strvalue(); sb.append(s.tojstring()); } System.out.println(sb.toString()); // Log.d(HNEnvironment.STD_TAG, "\n"); return NONE; } }
protected String executeFunctionChunk(LuaValue luaFunction, Frame frame) { assertFunction(luaFunction); try { currentFrame = frame; LuaValue executeFunction = globals.get("mw").get("executeFunction"); logger.trace("executing "+luaFunction); final LuaString result = executeFunction.call(luaFunction).checkstring(); return new String(result.m_bytes, result.m_offset, result.m_length, UTF8); } finally { currentFrame = null; } }
public Varargs invoke(Varargs args) { LuaValue tostring = globals.get("tostring"); for ( int i=1, n=args.narg(); i<=n; i++ ) { if ( i>1 ) globals.STDOUT.print( '\t' ); LuaString s = tostring.call( args.arg(i) ).strvalue(); globals.STDOUT.print(s.tojstring()); } globals.STDOUT.println(); return NONE; } }
@Override public Varargs invoke(Varargs args) { LuaValue tostring = globals.get("tostring"); for ( int i=1, n=args.narg(); i<=n; i++ ) { if ( i>1 ) globals.STDOUT.print( '\t' ); LuaString s = tostring.call( args.arg(i) ).strvalue(); globals.STDOUT.print(s.tojstring()); } globals.STDOUT.println(); return NONE; } }
@SuppressWarnings("ResultOfMethodCallIgnored") @Override public LuaValue call(LuaValue arg) { // Get the path as a Java String String path = arg.checkjstring(); // It's fine to append your path with .lua as it follows Lua standards. if (path.startsWith("/")) path.replaceFirst("/", ""); if (!path.endsWith(".lua")) path = path + ".lua"; // Load the script if it's already in memory for this plugin. LuaValue possiblyLoadedScript = g.get("__lukkitpackages__").checktable().get(path); if (possiblyLoadedScript != null) return possiblyLoadedScript; // Get the resource as an InputStream from the plugin's resource getter InputStream is = plugin.getResource(path); if (is != null) { try { LuaValue calledScript = g.load(new InputStreamReader(is, "UTF-8"), path.replace("/", ".")).call(); g.get("__lukkitpackages__").checktable().set(path, calledScript); return calledScript; } catch (LukkitPluginException e) { e.printStackTrace(); addError(e); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } throw new LukkitPluginException("Requested Lua file at " + path + " but it does not exist."); } });
private void stubWikiBase() { // fake http://www.mediawiki.org/wiki/Extension:Wikibase final LuaValue mw = globals.get("mw"); final LuaTable wikibase = new LuaTable(); wikibase.set("getEntity", new ZeroArgFunction() { @Override public LuaValue call() { return NIL; } }); wikibase.set("getEntityObject", new ZeroArgFunction() { @Override public LuaValue call() { return NIL; } }); mw.set("wikibase", wikibase); }
@Override public Object proceedGame(long aGameTime, long aElapsedTimeSinceLastLoop) { Varargs theArguments = LuaValue.varargsOf(new LuaValue[] { LuaInteger.valueOf(aGameTime), LuaInteger.valueOf(aElapsedTimeSinceLastLoop) }); LuaClosure theMethodToCall = (LuaClosure) globals.get(LuaString.valueOf(methodName)); Varargs theResult = theMethodToCall.invoke(theArguments); if (theResult.narg() == 1) { return toJavaValue(theResult.arg(1)); } throw new IllegalStateException("Not supported return type : " + theResult + " for function " + methodName); }
private void stubTitleBlacklist() { // TODO move to separate file final LuaValue mw = globals.get("mw"); LuaValue ext = mw.get("ext"); if (ext.isnil()) { ext = new LuaTable(); mw.set("ext", ext); } LuaTable blacklist = new LuaTable(); blacklist.set("test", new TwoArgFunction() { @Override public LuaValue call(LuaValue action, LuaValue title) { return NIL; } }); ext.set("TitleBlacklist", blacklist); }
@Override public String evaluateSimpleExpressionFor(GameObjectInstance aObjectInstance) { Varargs theArguments = LuaValue.varargsOf(new LuaValue[] { toLuaValue(aObjectInstance, cache), toLuaValue(aObjectInstance.getOwnerGameObject().getGameScene(), cache), toLuaValue(aObjectInstance.getOwnerGameObject().getGameScene().getGame(), cache), }); LuaClosure theMethodToCall = (LuaClosure) globals.get(LuaString.valueOf(methodName)); Varargs theResult = theMethodToCall.invoke(theArguments); if (theResult.narg() == 1) { return toJavaValue(theResult.arg(1), String.class).toString(); } throw new IllegalStateException("Invalid return type : " + theResult); } }
function = globals.get(name); if( function.isnil() ){ return ret;
public LuaInstance() throws AerospikeException { globals.load(new JseBaseLib()); globals.load(new PackageLib()); //globals.load(new Bit32Lib()); // not needed for 5.1 compatibility globals.load(new TableLib()); globals.load(new StringLib()); globals.load(new CoroutineLib()); globals.load(new JseMathLib()); globals.load(new JseIoLib()); globals.load(new JseOsLib()); globals.load(new LuajavaLib()); globals.load(new DebugLib()); LuaTable packageTable = (LuaTable)globals.get("package"); loadedTable = (LuaTable)packageTable.get("loaded"); globals.load(new LuaBytesLib(this)); globals.load(new LuaListLib(this)); globals.load(new LuaMapLib(this)); globals.load(new LuaStreamLib(this)); LuaC.install(globals); ClassLoader resourceLoader = LuaInstance.class.getClassLoader(); loadSystemPackage(resourceLoader, "compat52"); loadSystemPackage(resourceLoader, "stream_ops"); loadSystemPackage(resourceLoader, "aerospike"); globals.load(new LuaAerospikeLib(this)); LoadState.install(globals); }
globals.load(new DebugLib()); LuaTable packageTable = (LuaTable)globals.get("package"); loadedTable = (LuaTable)packageTable.get("loaded");