+ Added lua user and stats
This commit is contained in:
@@ -8,6 +8,7 @@ import java.util.stream.Stream;
|
||||
|
||||
import org.luaj.vm2.Globals;
|
||||
import org.luaj.vm2.LuaValue;
|
||||
import org.luaj.vm2.lib.jse.CoerceJavaToLua;
|
||||
import org.luaj.vm2.lib.jse.JsePlatform;
|
||||
|
||||
// To promote flexibility, plugins are lua file with predefined callbacks.
|
||||
@@ -47,11 +48,11 @@ public class Plugin
|
||||
}
|
||||
}
|
||||
|
||||
public String Run(String args)
|
||||
public String Run(String args, PluginUser user)
|
||||
{
|
||||
try
|
||||
{
|
||||
LuaValue res = func_plugin.call(LuaValue.valueOf(args));
|
||||
LuaValue res = func_plugin.call(LuaValue.valueOf(args), user.AsLua());
|
||||
|
||||
if(!res.isnil())
|
||||
return res.toString();
|
||||
|
||||
@@ -6,6 +6,8 @@ import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import dataStructures.KittyUser;
|
||||
|
||||
// Reads in, handles, and manipulates plugins. Plugins are loaded in the order they appear in the folder.
|
||||
public class PluginManager
|
||||
{
|
||||
@@ -37,12 +39,12 @@ public class PluginManager
|
||||
|
||||
// Runs all plugins, returning when it gets a non-nill result.
|
||||
// Otherwise, returns null.
|
||||
public String RunAll(String input)
|
||||
public String RunAll(String input, KittyUser user)
|
||||
{
|
||||
for(int i = 0; i < plugins.size(); ++i)
|
||||
{
|
||||
Plugin plugin = plugins.get(i);
|
||||
String out = plugin.Run(input);
|
||||
String out = plugin.Run(input, new PluginUser(user));
|
||||
|
||||
if(out != null)
|
||||
{
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
package core.lua;
|
||||
|
||||
import org.luaj.vm2.LuaValue;
|
||||
import org.luaj.vm2.lib.jse.CoerceJavaToLua;
|
||||
|
||||
public class PluginStructure
|
||||
{
|
||||
public LuaValue AsLua()
|
||||
{
|
||||
return CoerceJavaToLua.coerce(this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package core.lua;
|
||||
|
||||
import dataStructures.KittyUser;
|
||||
|
||||
public class PluginUser extends PluginStructure
|
||||
{
|
||||
public String name;
|
||||
|
||||
public PluginUser(KittyUser user)
|
||||
{
|
||||
this.name = user.name;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user