From b71debb9d2c60bddbcbf54e314810f6c877277b4 Mon Sep 17 00:00:00 2001 From: Matthew Cech Date: Mon, 20 May 2019 15:21:39 -0700 Subject: [PATCH] = Fixed plugin output --- locStrings.config | 18 ++++++++++-------- src/core/lua/Plugin.java | 32 ++++++++++++++++++-------------- src/core/lua/PluginManager.java | 2 +- src/main/Main.java | 5 ++++- 4 files changed, 33 insertions(+), 24 deletions(-) diff --git a/locStrings.config b/locStrings.config index b2d61a8..14e8611 100644 --- a/locStrings.config +++ b/locStrings.config @@ -82,6 +82,15 @@ StarkInfo=Snaps your icon or the icon of a friend you mentioned [CommandYeet] YeetInfo=Yeet yourself or yeet a friend with @! +[CommandTradeBeans] +TradeBeanseStealingBeans=Stealing is wrong! *Steals 10 beans from %s* +TradeBeansNoTargetError=You have to give *someone* your beans! +TradeBeansSuccess=%s gave %s %s of their beans! +TradeBeansStealingBeans= +TradeBeansInfo=Gives another person some of your beans! Use is `tradebeans amount @person`! +TradeBeansIntParseError=That's not a real number! +TradeBeansNotEnoughError=You don't have enough beans! + [CommandPollVote] PollVoteNotValidNumber=That's not a vaild number! PollVoteInfo=Vote in a poll with the choice number, won't work if no poll is running, you can't change your vote once you have cast it! Be careful! @@ -228,11 +237,4 @@ MapVersion=Using mapgen v0.1 MapWidth=Width MapHeight=Height -[CommandTradeBeans] -TradeBeansInfo=Gives another person some of your beans! Use is `tradebeans amount @person`! -TradeBeansNoTargetError=You have to give *someone* your beans! -TradeBeansIntParseError=That's not a real number! -TradeBeansNotEnoughError=You don't have enough beans! -TradeBeanseStealingBeans=Stealing is wrong! *Steals 10 beans from %s* -TradeBeansSuccess=%s gave %s %s of their beans! - \ No newline at end of file + diff --git a/src/core/lua/Plugin.java b/src/core/lua/Plugin.java index 3c89e4a..86a959a 100644 --- a/src/core/lua/Plugin.java +++ b/src/core/lua/Plugin.java @@ -50,36 +50,40 @@ public class Plugin public List Run(String args, PluginUser user) { - List outputs = new Vector(); - try { + List outputs = new Vector(); + LuaValue res = func_plugin.call(LuaValue.valueOf(args), user.AsLua()); if(!res.isnil()) { if(res.istable()) { - while(true) + LuaValue key = LuaValue.NIL; + while (true) { - LuaValue key = LuaValue.NIL; - while (true) - { - Varargs n = res.next(key); - key = n.arg1(); - if (key.isnil()) - break; - - LuaValue value = n.arg(2); - outputs.add(value.toString()); - } + Varargs n = res.next(key); + key = n.arg1(); + if (key.isnil()) + break; + + LuaValue value = n.arg(2); + outputs.add(value.toString()); } } else { + System.out.println("Loc2.5 " + res.toString()); outputs.add(res.toString()); } } + + if(outputs.size() <= 0) + return null; + + return outputs; + } catch(Exception e) { diff --git a/src/core/lua/PluginManager.java b/src/core/lua/PluginManager.java index d53d96d..984728e 100644 --- a/src/core/lua/PluginManager.java +++ b/src/core/lua/PluginManager.java @@ -49,7 +49,7 @@ public class PluginManager { Plugin plugin = plugins.get(i); List out = plugin.Run(input, new PluginUser(user)); - + if(out != null) { PluginLog.Log("Executed plugin at " + plugin.filepath); diff --git a/src/main/Main.java b/src/main/Main.java index 962a07a..8be398f 100644 --- a/src/main/Main.java +++ b/src/main/Main.java @@ -90,7 +90,10 @@ public class Main extends ListenerAdapter List pluginOutput = pluginManager.RunAll(input.message, user); if(pluginOutput != null && pluginOutput.size() > 0) - response.Call(pluginOutput.get(0)); + { + for(int i = 0; i < pluginOutput.size(); ++i) + response.Call(pluginOutput.get(i)); + } } // Run any upkeep in post we need to