From 78ca2849e46060dc19f6a64622f7c7d86903de73 Mon Sep 17 00:00:00 2001 From: ham1255 Date: Sun, 10 May 2020 10:52:06 +0400 Subject: [PATCH] added code --- .idea/$PRODUCT_WORKSPACE_FILE$ | 19 +++ .idea/artifacts/SkLimework_jar.xml | 16 +++ .idea/compiler.xml | 13 ++ .idea/misc.xml | 14 ++ .idea/uiDesigner.xml | 124 ++++++++++++++++++ .idea/workspace.xml | 92 +++++++++++++ SkLimework.iml | 2 + pom.xml | 63 +++++++++ .../net/limework/skLimework/AddonPlugin.java | 96 ++++++++++++++ .../limework/skLimework/DoNotUse/Tester.java | 29 ++++ .../limework/skLimework/Events/RedisSub.java | 40 ++++++ .../skLimework/Events/onRedisMessage.java | 40 ++++++ .../skLimework/elements/EffSendMessage.java | 61 +++++++++ .../skLimework/elements/EvtRedis.java | 32 +++++ .../skLimework/elements/ExprChannel.java | 42 ++++++ .../skLimework/elements/ExprMessage.java | 42 ++++++ src/main/resources/config.yml | 13 ++ src/main/resources/plugin.yml | 6 + .../classes/META-INF/SkLimework.kotlin_module | Bin 0 -> 16 bytes target/classes/config.yml | 13 ++ .../limework/skLimework/AddonPlugin$1.class | Bin 0 -> 1097 bytes .../limework/skLimework/AddonPlugin$2.class | Bin 0 -> 1093 bytes .../net/limework/skLimework/AddonPlugin.class | Bin 0 -> 4796 bytes .../limework/skLimework/DoNotUse/Tester.class | Bin 0 -> 1857 bytes .../limework/skLimework/Events/RedisSub.class | Bin 0 -> 3603 bytes .../skLimework/Events/onRedisMessage.class | Bin 0 -> 1103 bytes .../skLimework/elements/EffSendMessage.class | Bin 0 -> 4343 bytes .../skLimework/elements/EvtRedis.class | Bin 0 -> 1247 bytes .../skLimework/elements/ExprChannel.class | Bin 0 -> 1989 bytes .../skLimework/elements/ExprMessage.class | Bin 0 -> 1985 bytes target/classes/plugin.yml | 6 + 31 files changed, 763 insertions(+) create mode 100644 .idea/$PRODUCT_WORKSPACE_FILE$ create mode 100644 .idea/artifacts/SkLimework_jar.xml create mode 100644 .idea/compiler.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/uiDesigner.xml create mode 100644 .idea/workspace.xml create mode 100644 SkLimework.iml create mode 100644 pom.xml create mode 100644 src/main/java/net/limework/skLimework/AddonPlugin.java create mode 100644 src/main/java/net/limework/skLimework/DoNotUse/Tester.java create mode 100644 src/main/java/net/limework/skLimework/Events/RedisSub.java create mode 100644 src/main/java/net/limework/skLimework/Events/onRedisMessage.java create mode 100644 src/main/java/net/limework/skLimework/elements/EffSendMessage.java create mode 100644 src/main/java/net/limework/skLimework/elements/EvtRedis.java create mode 100644 src/main/java/net/limework/skLimework/elements/ExprChannel.java create mode 100644 src/main/java/net/limework/skLimework/elements/ExprMessage.java create mode 100644 src/main/resources/config.yml create mode 100644 src/main/resources/plugin.yml create mode 100644 target/classes/META-INF/SkLimework.kotlin_module create mode 100644 target/classes/config.yml create mode 100644 target/classes/net/limework/skLimework/AddonPlugin$1.class create mode 100644 target/classes/net/limework/skLimework/AddonPlugin$2.class create mode 100644 target/classes/net/limework/skLimework/AddonPlugin.class create mode 100644 target/classes/net/limework/skLimework/DoNotUse/Tester.class create mode 100644 target/classes/net/limework/skLimework/Events/RedisSub.class create mode 100644 target/classes/net/limework/skLimework/Events/onRedisMessage.class create mode 100644 target/classes/net/limework/skLimework/elements/EffSendMessage.class create mode 100644 target/classes/net/limework/skLimework/elements/EvtRedis.class create mode 100644 target/classes/net/limework/skLimework/elements/ExprChannel.class create mode 100644 target/classes/net/limework/skLimework/elements/ExprMessage.class create mode 100644 target/classes/plugin.yml diff --git a/.idea/$PRODUCT_WORKSPACE_FILE$ b/.idea/$PRODUCT_WORKSPACE_FILE$ new file mode 100644 index 0000000..ae1a6b1 --- /dev/null +++ b/.idea/$PRODUCT_WORKSPACE_FILE$ @@ -0,0 +1,19 @@ + + + + + + + 1.8 + + + + + + + + \ No newline at end of file diff --git a/.idea/artifacts/SkLimework_jar.xml b/.idea/artifacts/SkLimework_jar.xml new file mode 100644 index 0000000..70e6a47 --- /dev/null +++ b/.idea/artifacts/SkLimework_jar.xml @@ -0,0 +1,16 @@ + + + C:/Complie + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..fcbb6d1 --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..4b661a5 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/workspace.xml b/.idea/workspace.xml new file mode 100644 index 0000000..b03bf91 --- /dev/null +++ b/.idea/workspace.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1585752189522 + + + + \ No newline at end of file diff --git a/SkLimework.iml b/SkLimework.iml new file mode 100644 index 0000000..78b2cc5 --- /dev/null +++ b/SkLimework.iml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..ceeef94 --- /dev/null +++ b/pom.xml @@ -0,0 +1,63 @@ + + + 4.0.0 + + net.limework.addon + SkLimework + 1.0-SNAPSHOT + jar> + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.6.1 + + 1.8 + 1.8 + + + + + + + + + spigot-repo + https://hub.spigotmc.org/nexus/content/repositories/snapshots/ + + + + + + org.spigotmc + spigot-api + 1.15.2-R0.1-SNAPSHOT + provided + + + org.bukkit + bukkit + 1.15.2-R0.1-SNAPSHOT + provided + + + com.google.code.gson + gson + 2.8.6 + + + redis.clients + jedis + 3.3.0 + + + org.json + json + 20190722 + + + \ No newline at end of file diff --git a/src/main/java/net/limework/skLimework/AddonPlugin.java b/src/main/java/net/limework/skLimework/AddonPlugin.java new file mode 100644 index 0000000..8ca0b06 --- /dev/null +++ b/src/main/java/net/limework/skLimework/AddonPlugin.java @@ -0,0 +1,96 @@ +package net.limework.skLimework; + +import ch.njol.skript.Skript; +import ch.njol.skript.SkriptAddon; +import ch.njol.skript.lang.ExpressionType; +import ch.njol.skript.registrations.EventValues; +import ch.njol.skript.util.Getter; +import net.limework.skLimework.Events.RedisSub; +import net.limework.skLimework.Events.onRedisMessage; +import net.limework.skLimework.elements.EvtRedis; +import net.limework.skLimework.elements.ExprChannel; +import net.limework.skLimework.elements.ExprMessage; +import org.bukkit.Bukkit; +import org.bukkit.plugin.java.JavaPlugin; +import redis.clients.jedis.JedisPool; +import redis.clients.jedis.JedisPoolConfig; + +import java.beans.Expression; +import java.io.IOException; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +public class AddonPlugin extends JavaPlugin { + private AddonPlugin instance; + private SkriptAddon addon; + private JedisPool jedisPool; + private RedisSub redisSub; + private ExecutorService service; + + + @Override + public void onEnable(){ + instance = this; + this.saveDefaultConfig(); + addon = Skript.registerAddon(this); + try { addon.loadClasses("net.limework.skLimework", "elements"); + Skript.registerEvent("redis message", EvtRedis.class, onRedisMessage.class, "redis message"); + Skript.registerExpression(ExprChannel.class, String.class, ExpressionType.SIMPLE, "channel"); + EventValues.registerEventValue(onRedisMessage.class, String.class, new Getter() { + @Override + public String get(onRedisMessage e) { + return e.getChannelName(); + } + }, 0); + Skript.registerExpression(ExprMessage.class, String.class, ExpressionType.SIMPLE, "redis message"); + EventValues.registerEventValue(onRedisMessage.class, String.class, new Getter() { + @Override + public String get(onRedisMessage e) { + return e.getMessage(); + } + }, 0); + + + + + } catch (IOException e) { e.printStackTrace(); } + JedisPoolConfig jconfig = new JedisPoolConfig(); + jconfig.setMaxTotal(this.getConfig().getInt("Redis.MaxConnections")); + jconfig.setMaxIdle(this.getConfig().getInt("Redis.MaxConnections")); + jconfig.setMinIdle(1); + jedisPool = new JedisPool(jconfig, + this.getConfig().getString("Redis.Host"), + this.getConfig().getInt("Redis.Port") , + this.getConfig().getInt("Redis.TimeOut"), + this.getConfig().getString("Redis.Password"), + this.getConfig().getBoolean("Redis.useSSL")); + redisSub = new RedisSub(this, jedisPool.getResource(), this.getConfig().getStringList("Channels")); + service = Executors.newFixedThreadPool(this.getConfig().getInt("Redis.Threads")); + + Bukkit.getLogger().info("[Govindas limework Addon] was enabled!"); + } + + + @Override + public void onDisable(){ + redisSub.unSubAndCloseConnection(); + service.shutdown(); + try { service.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); } catch (InterruptedException e) { e.printStackTrace(); } + jedisPool.close(); + } + + public AddonPlugin getInstance() { + return instance; + } + + public SkriptAddon getAddonInstance() { + return addon; + } + + public ExecutorService getJedisExecutionService() { + return service; + } + + public JedisPool getJedisPool() { return jedisPool; } +} diff --git a/src/main/java/net/limework/skLimework/DoNotUse/Tester.java b/src/main/java/net/limework/skLimework/DoNotUse/Tester.java new file mode 100644 index 0000000..4b11c22 --- /dev/null +++ b/src/main/java/net/limework/skLimework/DoNotUse/Tester.java @@ -0,0 +1,29 @@ +package net.limework.skLimework.DoNotUse; + +import org.json.JSONObject; +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisPool; +import redis.clients.jedis.JedisPoolConfig; +import redis.clients.jedis.JedisPubSub; + +public class Tester { + public static void main(String[] args) throws InterruptedException { + JedisPoolConfig jconfig = new JedisPoolConfig(); + jconfig.setMaxTotal(100); + jconfig.setMaxIdle(100); + jconfig.setMinIdle(1); + JedisPool d = new JedisPool(jconfig, "192.168.0.112", 6379, 400, "yHy0d2zdBlRmaSPj3CiBwEv5V3XxBTLTrCsGW7ntBnzhfxPxXJS6Q1aTtR6DSfAtCZr2VxWnsungXHTcF94a4bsWEpGAvjL6XMU"); + Jedis dd = d.getResource(); + JSONObject J = new JSONObject(); + J.put("Message", "something::something::something"); + int x = 0; + while (true) { + x++; + System.out.println(x); + dd.publish("fs", J.toString() ); + if (x == 1000) break; + Thread.sleep(1000); + + } + } +} diff --git a/src/main/java/net/limework/skLimework/Events/RedisSub.java b/src/main/java/net/limework/skLimework/Events/RedisSub.java new file mode 100644 index 0000000..85fa73e --- /dev/null +++ b/src/main/java/net/limework/skLimework/Events/RedisSub.java @@ -0,0 +1,40 @@ +package net.limework.skLimework.Events; + +import net.limework.skLimework.AddonPlugin; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.json.JSONObject; +import redis.clients.jedis.Jedis; +import redis.clients.jedis.JedisPubSub; + +import java.util.List; + +public class RedisSub extends JedisPubSub { + private AddonPlugin plugin; + private Jedis j; + public RedisSub(AddonPlugin plugin, Jedis j, List channels) { + this.plugin = plugin; + this.j = j; + String[] ss = channels.toArray(new String[0]); + plugin.getServer().getScheduler().runTaskAsynchronously(plugin, + () -> this.j.subscribe(this, ss)); + } + + @Override + public void onMessage(String channel, String message) { + try { + JSONObject json = new JSONObject(message); + //System.out.println("Message got from channel: "+channel +" and the Message: " +json.toString()); + plugin.getServer().getPluginManager().callEvent(new onRedisMessage(channel, json.getString("Message"))); + } catch (Exception e) { + e.printStackTrace(); + Bukkit.getLogger().warning(ChatColor.translateAlternateColorCodes('&', "&2[&aGBot&a] &cI Got a Message that Was empty from channel "+ channel +" Please check your code that you used to send the message. ^ ignore the error.")); + } + + } + + public void unSubAndCloseConnection(){ + this.unsubscribe(); + j.close(); + } +} diff --git a/src/main/java/net/limework/skLimework/Events/onRedisMessage.java b/src/main/java/net/limework/skLimework/Events/onRedisMessage.java new file mode 100644 index 0000000..388caae --- /dev/null +++ b/src/main/java/net/limework/skLimework/Events/onRedisMessage.java @@ -0,0 +1,40 @@ +package net.limework.skLimework.Events; + +import org.bukkit.event.Event; +import org.bukkit.event.HandlerList; + + +public class onRedisMessage extends Event { + private final static HandlerList HANDLERS = new HandlerList(); + + private String channelName; + private String message; + + onRedisMessage(String channelName , String message) { + super(true); + this.channelName = channelName; + this.message = message; + } + + + @Override + public String getEventName() { + return super.getEventName(); + } + + @Override + public HandlerList getHandlers() { + return HANDLERS; + } + public static HandlerList getHandlerList() { + return HANDLERS; + } + + public String getChannelName() { + return channelName; + } + + public String getMessage() { + return message; + } +} diff --git a/src/main/java/net/limework/skLimework/elements/EffSendMessage.java b/src/main/java/net/limework/skLimework/elements/EffSendMessage.java new file mode 100644 index 0000000..1fdbcfe --- /dev/null +++ b/src/main/java/net/limework/skLimework/elements/EffSendMessage.java @@ -0,0 +1,61 @@ +package net.limework.skLimework.elements; + +import ch.njol.skript.Skript; +import ch.njol.skript.SkriptAPIException; +import ch.njol.skript.lang.Effect; +import ch.njol.skript.lang.Expression; +import ch.njol.skript.lang.SkriptParser; +import ch.njol.util.Kleenean; +import net.limework.skLimework.AddonPlugin; +import org.bukkit.Bukkit; +import org.bukkit.ChatColor; +import org.bukkit.event.Event; +import org.json.JSONObject; +import redis.clients.jedis.Jedis; + +public class EffSendMessage extends Effect { +//"hi" + static { + Skript.registerEffect(EffSendMessage.class, "send redis message to channel %string% with message %string%"); + } + + + private Expression channel; + private Expression message; + + + @Override + protected void execute(Event event) { + AddonPlugin plugin = (AddonPlugin) Bukkit.getPluginManager().getPlugin("SKLimework"); + String message = this.message.getSingle(event); + String channel = this.channel.getSingle(event); + if (message == null){//checks if message equals null if true does not execute. + Bukkit.getLogger().warning(ChatColor.translateAlternateColorCodes('&', "&2[&aGBot&a] &cMessage Was empty Please check your code.")); + return; + } + plugin.getJedisExecutionService().execute(() -> { + Jedis j = plugin.getJedisPool().getResource(); + JSONObject json = new JSONObject(); + try { + json.put("Message", message); + json.put("Type", "Skript"); + j.publish(channel, json.toString()); + //System.out.println("SkriptSide sent MESSAGE: ["+ message + "] to channel: " + channel + " and json: \n" + json.toString()); + }catch (Exception e){e.printStackTrace();} + j.close(); + }); + + } + + @Override + public String toString(Event event, boolean b) { + return null; + } + @SuppressWarnings("unchecked") + @Override + public boolean init(Expression[] expressions, int matchedPattern, Kleenean isDelayed, SkriptParser.ParseResult parser) { + this.channel = (Expression) expressions[0]; + this.message = (Expression) expressions[1]; + return true; + } +} diff --git a/src/main/java/net/limework/skLimework/elements/EvtRedis.java b/src/main/java/net/limework/skLimework/elements/EvtRedis.java new file mode 100644 index 0000000..a08e6a1 --- /dev/null +++ b/src/main/java/net/limework/skLimework/elements/EvtRedis.java @@ -0,0 +1,32 @@ +package net.limework.skLimework.elements; + +import ch.njol.skript.Skript; +import ch.njol.skript.lang.ExpressionType; +import ch.njol.skript.lang.Literal; +import ch.njol.skript.lang.SkriptEvent; +import ch.njol.skript.lang.SkriptParser; +import ch.njol.skript.registrations.EventValues; +import ch.njol.skript.util.Getter; +import net.limework.skLimework.Events.onRedisMessage; +import org.bukkit.event.Event; + +public class EvtRedis extends SkriptEvent { + + + + @Override + public boolean init(Literal[] literals, int i, SkriptParser.ParseResult parseResult) { + + return true; + } + + @Override + public boolean check(Event event) { + return true; + } + + @Override + public String toString(Event event, boolean b) { + return "redis message"; + } +} diff --git a/src/main/java/net/limework/skLimework/elements/ExprChannel.java b/src/main/java/net/limework/skLimework/elements/ExprChannel.java new file mode 100644 index 0000000..6133d1a --- /dev/null +++ b/src/main/java/net/limework/skLimework/elements/ExprChannel.java @@ -0,0 +1,42 @@ +package net.limework.skLimework.elements; + + +import ch.njol.skript.lang.Expression; +import ch.njol.skript.lang.SkriptParser; +import ch.njol.skript.lang.util.SimpleExpression; +import ch.njol.util.Kleenean; +import net.limework.skLimework.Events.onRedisMessage; +import org.bukkit.event.Event; + +public class ExprChannel extends SimpleExpression { + + + @Override + public boolean isSingle() { + return true; + } + + @Override + public Class getReturnType() { + return String.class; + } + + @Override + public String toString(Event event, boolean b) { + return "redis channel"; + } + + @Override + public boolean init(Expression[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { + return true; + } + + + @Override + protected String[] get(Event e) { + if (e instanceof onRedisMessage){ + return new String[]{((onRedisMessage) e).getChannelName()}; + } + return null; + } +} diff --git a/src/main/java/net/limework/skLimework/elements/ExprMessage.java b/src/main/java/net/limework/skLimework/elements/ExprMessage.java new file mode 100644 index 0000000..c523360 --- /dev/null +++ b/src/main/java/net/limework/skLimework/elements/ExprMessage.java @@ -0,0 +1,42 @@ +package net.limework.skLimework.elements; + + +import ch.njol.skript.lang.Expression; +import ch.njol.skript.lang.SkriptParser; +import ch.njol.skript.lang.util.SimpleExpression; +import ch.njol.util.Kleenean; +import net.limework.skLimework.Events.onRedisMessage; +import org.bukkit.event.Event; + +public class ExprMessage extends SimpleExpression { + + + @Override + public boolean isSingle() { + return true; + } + + @Override + public Class getReturnType() { + return String.class; + } + + @Override + public String toString(Event event, boolean b) { + return "redis message"; + } + + @Override + public boolean init(Expression[] expressions, int i, Kleenean kleenean, SkriptParser.ParseResult parseResult) { + return true; + } + + + @Override + protected String[] get(Event e) { + if (e instanceof onRedisMessage){ + return new String[]{((onRedisMessage) e).getMessage()}; + } + return null; + } +} diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml new file mode 100644 index 0000000..762accf --- /dev/null +++ b/src/main/resources/config.yml @@ -0,0 +1,13 @@ +Redis: + Password: "yHy0d2zdBlRmaSPj3CiBwEv5V3XxBTLTrCsGW7ntBnzhfxPxXJS6Q1aTtR6DSfAtCZr2VxWnsungXHTcF94a4bsWEpGAvjL6XMU" + Host: "127.0.0.1" + MaxConnections: 20 + Threads: 10 + Port: 6379 + TimeOut: 40 + useSSL: true + +Channels: + - "Channel1" + - "Channel2" + - "Channel3" \ No newline at end of file diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml new file mode 100644 index 0000000..4cecdb6 --- /dev/null +++ b/src/main/resources/plugin.yml @@ -0,0 +1,6 @@ +main: net.limework.skLimework.AddonPlugin +name: SKLimework +version: 1.0 +author: limework.net +depend: + - Skript \ No newline at end of file diff --git a/target/classes/META-INF/SkLimework.kotlin_module b/target/classes/META-INF/SkLimework.kotlin_module new file mode 100644 index 0000000000000000000000000000000000000000..2983af70661ad375cc499ebc4da5a68ca46c532e GIT binary patch literal 16 RcmZQzU|?ooU|@t|egFVe02KfL literal 0 HcmV?d00001 diff --git a/target/classes/config.yml b/target/classes/config.yml new file mode 100644 index 0000000..762accf --- /dev/null +++ b/target/classes/config.yml @@ -0,0 +1,13 @@ +Redis: + Password: "yHy0d2zdBlRmaSPj3CiBwEv5V3XxBTLTrCsGW7ntBnzhfxPxXJS6Q1aTtR6DSfAtCZr2VxWnsungXHTcF94a4bsWEpGAvjL6XMU" + Host: "127.0.0.1" + MaxConnections: 20 + Threads: 10 + Port: 6379 + TimeOut: 40 + useSSL: true + +Channels: + - "Channel1" + - "Channel2" + - "Channel3" \ No newline at end of file diff --git a/target/classes/net/limework/skLimework/AddonPlugin$1.class b/target/classes/net/limework/skLimework/AddonPlugin$1.class new file mode 100644 index 0000000000000000000000000000000000000000..22579b8d35254d512c1edefd15840573fc436da6 GIT binary patch literal 1097 zcmb7@-*3|}5XZl6(`F4}D`N~8zXt2Jv=xL2UeKmWQ&kXBHV{R7MQ&@Q?otOO?)bOh zfg$mLc;=5noY#N?YNe7W@%eQA_L(0VJ01vz zl|U+SJQ?>y@|O1^@~j4NpGPM=k!GGbEhCA+eW{d4+7VAvLDStucB}1?!eS^iLwmlw z&Y4g;^<(u$3}kvF(v*i{zaEVE8TTWuLcgmMsX}5g66w#~c{Ye)$IG!^^+uwv|H5Z3 zhDuk4it9;2+q?_&N?*+# z>m!pnoli&gqd29^kAxn^0~^~ecChPW2^ANPu{_in9?ol(nFVpNimTLM^A_cV)bnU#1vPd6wzFK8?Z(uF%X742`t#tqz} R(ZX%qL6t0rqRTYW^9#L#650R& literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/AddonPlugin$2.class b/target/classes/net/limework/skLimework/AddonPlugin$2.class new file mode 100644 index 0000000000000000000000000000000000000000..30e339c4bdab5da68236df1e97c5aec40f481104 GIT binary patch literal 1093 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 literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/DoNotUse/Tester.class b/target/classes/net/limework/skLimework/DoNotUse/Tester.class new file mode 100644 index 0000000000000000000000000000000000000000..f9bf29088f6f4451b52db6302b7f5841b28abc9a GIT binary patch literal 1857 zcma)7>r&fR5dMyDGDZY2m_kWH)0D;pf-n##n3R?~cFiT&*pReoWcgsr*pf$*iOKIi zKp&z1^1JzAI%TF0&?o34WTx-XbdOC687>peXmxhao;`c{cJzG zWS<`Qy8yQERKm7|6oc=HZs^V&gF8HuVel-PdCt(8)D6B-tK_(qR&!;N1e2zwmNTlQ z3;tB-af-UlFp@O5qm=aue`Q(+ihYp$uv{`XOlQaDN}Agaw`S>rimDq7ec|WHl6t5r zWz{GsDaX={!few4)hdw5o=dhFq>^SD`+9+4IBD^`ZYx?@=Z0e|r6!jUbjvi$i%m7U zj^!DKuGb|kSDw@cuT~R=5)7fFX%&=`Z5m1_&))ehFxYBN0& zhN+BHG6`v_5<_6QuJNj)n}#i6hxn9PvoyY<#bzrI!9O{AhvBWl{&jxMG4=bgo8)?}uhHSC&E*j-C&D>KvTbk5E$ zS6Al`OUdZ&`i_X_nT+T7feL#`3aPN`+_u#M4G*2perCL^2 zxxp=6Yx#B#JPjO$V=C=DaG(m>9|64hCpUi^m0;9JopJ7I6xF z8GXI?kHLOxZr>*AYYN*iL~FUFfG@}h(1tH@myFP17N&XbBbj{y*WNMQ$T%AKF(RTRB(HrPMFVO*#jiCz> zbR&i!me7M$gy;{`hi!a@7wD&68-PW55FyUB!oXJ;CeDuoe2se)_86TCV}!zuU;+0r zN_WOEL-Ggk(B2rvDT7{2(5XSV-;>BEAtGT?!jyz*2@ff`cl?Nwf`<$~qW3YaU6}a~ Dp}^Oy literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/Events/RedisSub.class b/target/classes/net/limework/skLimework/Events/RedisSub.class new file mode 100644 index 0000000000000000000000000000000000000000..62e3a25e1c8768ad6d0f57b2a35e7a110259cf69 GIT binary patch literal 3603 zcmb_f=~El$9e!3|7M8Wa*f_!Qv57GVFepjgx(%*dP#wpvz>Y=jx^B|0R}A|4*mS`>qfxkX(Q0Xy(0t*Ymqp|NPGze+O_De>U(G zE)C#Gyda0mI<5@j-6-jJ#=sJm2XPhGM)>qSgSdg4I^Jtw5Vz#<`*hsy$NS~}B?AZW z@*qBd59+WD974r_gQ^Z;;0P}D5?zvg6FP_yFpklMD^14a-muc{A=pjyasJe!xN=YRNbiHc&_l{sIaDXSLDbS zedk@@jW1{@=O2mZLztD;>qY|ihczCikcvRm`*I0Wr&2z3BXivFyL&*AeLX1k?h zGhhQ>Y29+2-dvgZ0=_62ozw9p6JN$xC~L=pmLp7j6^lB)X5#Dk27%pqlE(95;(ApP zYM7sR_V$E*X)%Z=?3b(w=dyJvh%MV{%Cq8CJGO4xktNm}@uqbr4A!lthbWP{Q^jY0r;M{6xC%r}!De`F~)z?RO0)!)^ubT2f)eX*i$&YLy~} zaU3j!p}nag-xg)f9GJ>RUMnw7b<-$QWSNpR5tl`{A>kj*PpKTMB=x!*7t&*9(LotM zZHJ70Nk@#Ui6=?(?WEE6O<_^-YQ3B{@N@h^Hi%y`kHUo6biI4|*80;tkx zhk_^T!!VIdSufc>OC!-d)sAMH{N^JvRIXDELBm8R<{3>}jpJknm`;4jmYvO0$g}&l z;UHxHDyS>f9)}w2MzN}#E1~VMyk#RL^?a&kDX1yKj?u84;P!aRc2-DlX;GiuXfP{T zksisMX5AoRe;lM1YB;YMaY)OO3xeF_}P3X z^ToX&W<#!p>*L+bV)ov(L!WkP7)<;qsYFibRtVNu*FvCSpCg+N!OOfqm+$`hl9rD7 zP6={D$FEHM8oxJD#Je;+wNrjwevRu3o$S$Y;^FUD;-2JZIFRFy9bT>2|(k%c_Zr?~qI_xm`%W%?ep z>6zD%n?CazdS-k6hTi+wm%~5M_gwGH7WDh**Dy0Z*82tqfcr3daPw7C_F$UhQS@;f zBDY~)ALPgT2#)is{mmG~3~$b+Qg8;d+)eMTS5B?wP$0kK7{k+ehP zBRTv5Gt0AEIQ%+BhbJE3$gO*LY~=ARjM2`qk)s^8@WkslwuR%bD(QLJaHwhN3Fwq{ zlvW-iiWYB<)2b8H_$122eB0Uq?%#^Hk?IWbeh%|oQO6bnD>#q0EAA_}z*P?K;JuDq zUB^2od9i@SrhykYOAyTIEu5fjJzF>_q0cGk4=Bc`3Bd&aI87=AQqas)*lLb6IjlGwNnf?pHIz%(HgQo&ejdN$Y>?tN#Phdw*^5#`?yvJrnTD4C E3!stl{r~^~ literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/Events/onRedisMessage.class b/target/classes/net/limework/skLimework/Events/onRedisMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..b6799d4b51ab4d65104a7590167362618246f703 GIT binary patch literal 1103 zcmb7DU2oE06n@@PD3l75P5c-l+jIk_>y39VCT7m;qH-||iMuQChE+~uvI`F+kEWs^&xwYH0W_>_n!#kX~e-*xt~Uf#rnJGlAmZ-1a=_cI=51s95jp z3)^&UZ)A3(!0|>@qD^EN+9OKm4js>lo(t?XmkXC8t)75-Xfbltd{@>j^-89DUi}2;SUFHs!*oM+v{C_8Vuwshc{mT zll1{hZJ>;{0RuM-l=!IPwgDYQf!g1=F|ID~I|a2e+i}i_!60q6jM;4vjUaQ60(HS30EfE zIz<`@4jZ^dH|h}25wXXU6q-O%q;pKNoXfUnP(P59G|$DsYTVFB3etuGcW{>?O!9y% zgVj&SE@C(5uxg4e(DGNGzbV#Mf-{TY-4)dlhbcKr>CF#3;IjaKC>&!Yi!wk$N}%{%)awppLyQVzuvm{ zCV*kQnZO}jPv8dLAIEcT_yC^Q@WCB80HY1lC~BBd6R9L-<0vIC2Qz_rEF{nZD@7$A zYJ&?;P5lI_Sk!PcfnB&B$1OE3#qr@dKB8V)WE`JL;M4ew zhR+IU#W};ar6rKg7w59}yklj(1=p8`Bn7 zQhBFnSXT_!RP)+m%%3wofhY2|q@!k8-gMjrI-XyBm6j|^+xN2Lv$F+h&rF17l?U>c zELMGLel(MJ+){SBy0BpSS-D90?6`X7ltV4Sg23KJLJXl|RZFHV(9_V5Gcz-eJr#)2 zc4}i%1Rg5*MsZ=ns06VQ4a9&z+;_sX2@Ey#^LpQA3dOX5xXzTS1Z()bK--kzdh(L= zs+KRHpJT<{G0X5g$t2EaZfsM_+_}0y)i8g{O}9ED6FfKOo2?T#4E_0gv` zSqBtNAKKQkKzrHni*s^j%J6;ZGTGuBk!X5PNy}K0%+w=wFV;J!>Z8JT1&-E59>`IF zhu4E{sj>>Z?(IAt=~pl>Z<|vk_x7bVX&L3|8Kb*~?e50~@|gz$X%1lodbZ1u@UVly~Kf>1B(S8JxTMV0KV@8>NYhjB#5xA1L&6TQc7^cv5cb^KoAxpZ%_Ml0#7 zhL@J*iocYevZUe3G!a`|NG~yjbdkh%RKs_4d>7x-@O>RWzz=o&2tTH=vyS6?zH3w_ zq(A4(cspD1lO!@6eyZbV__>B(=s1dB>i89Yt>HI1ev6lw4@F$}<&o4@b4SPT@Ovix zGI7gO5FSV!C-4WRTE`#pGBvD)SudrIKOv*z&&UX58)dEmvkHuOcOh;sxw8^ThcBSQaY zgD${|l%yZ>^@L%wQIS24Wcs2#ASC_lIw3;*U_{wwA|$Q4YBEwLa+YfSv9T4ZKd@QY zYu!22USNXNaT#pbF`^BlcKpJvd8ZTv+r?l5Xar^}h3c-;;f~!;RMr38xHfuq`+jxzR z@{@*T9d~d~M;;Rbhu7RS?L}unX7fQWXG1V%jiT?kORPqDZKmPxB=x-GEL1B3|BgCV zQxNu&XAOJCl3sTxncL`XWM$n()i$Ey5B@PUx%J*C1JyK-8J1NreaV}^8@x{M*%pXgXY zBH5d2TYKQ#Gw>+P%y3{e9e%A_ZK_#SvZs*alNSX%$x&tN1xl-ICHn`OkG+N+ z{R1%$t+AK67Dn41=sO9GyW6>6Wj~B8S+|kI8O9V=XADnKx2n@Po(}dV@eH12WaqdV z)=kNur+f&93(15!h@2~r{>weB97p??(Xouw}@ zh6X!h%jjIjzN;@GajK=WWf@&V%h-RL+B#U3WBlD6ty&Lj*UK*%?4z}AW-rSqP7+0@ zi6Ir+D6OmbCRs<7nbDwDeBqm_m5OpSs8thn9cNYFLkk_$a0!K4{kqWfKW=NOS5U)c z4ey1}aHW;IuGXPG5ZC~ArVhm3K>S*B>R@37X$3YBlr|A0a~D&;n`Yj}^(I`yyE&%# ab{e0fGo4t$>qKcM%3N0|wkhkN0_XpAwX{3{ literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/elements/EvtRedis.class b/target/classes/net/limework/skLimework/elements/EvtRedis.class new file mode 100644 index 0000000000000000000000000000000000000000..200be976ca1b7e6d10f29b7001f13af586cc5890 GIT binary patch literal 1247 zcmbVLO>fgc5Ph4ECQVZcp_GO~NuWTImimIYw5o(EkSbZIYETb_i<7RBZ5%sVJ3;&> z4sb%^zz^U@A>OVN2%-remOQhwGw;pp?CjTXpT7Wjf}H{~c#y}#93JIR6Ij?+fr<|V z(zW`jK;|$!mjWxU3gpXSza{l6ujO;69~P{cp~1hXMRYN3!j%Z1)5 z$-wLyL=jmma8sKRs`OLeos}|Wv zykn%{zJ`)zOW`_JX`8(pSR?i(*GVQ5wa%!r_1@xY1Ggzn#;4R4Wiw9KTDBS2#+*s5 zhW!pUiDBDO8FM_NPLnHLN`0^?eja$!l2j7+kFwKa5_7~V?vXTw`xd!{73u;Bmr=(R Gl)nRSZY*p7 literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/elements/ExprChannel.class b/target/classes/net/limework/skLimework/elements/ExprChannel.class new file mode 100644 index 0000000000000000000000000000000000000000..01924223dc1cf477143022d3f0b29d6a91dd9024 GIT binary patch literal 1989 zcmb_dU2hXd6g{)+*uil^Y9IvqK_~(2ILShre%cM7lu8kXq8K3+)Q7bhoQc=F*6y0N zKc)Yn5A=mfm0Gp0{ZUoV%r46&v70{h!Sl8EoO|z?d&htM{p;@lws5D6S!|W?(JVeL z;gd27__T}?J}cq#5}E?Vmhx4+EnwH`j|B=l!80jvx~+WqU_9)~@R8f~cv5W#J=c5e zhDz_#!$Q2TB7x1eFJs43L-}104xDJve!Y~Q97;cqoV(wT!kvBB_oYXtvnuK+zpr`e z_KCoJU&ebf9*6#;A4WVqQ>(WR+!wCnxqjc-@!TjP>{LhfeV10Ws2#UxHFB6v9MVH` zTYHOxWGApuYX@Q9>5c~j6+7|;V{`86vH2wLFa-Y(o>FGJg#FnjK^>_=eVh5os$_WU0*)YGc!^A?NYNr>Q&%;=J#+oq#xxI-OTL%Q+xtT zhf9hVpO)3?NrAT3^t}#Glv3OMe`?w+(tj(V`qSg}M>Scj^PSl34eq<6G{Na*c!=Zc z?t$#Z%=FeoY0Y(X)NtgPZE7-=Z3f8e9us#hr>5UMmPim5h8JBRI?32u= z^@hL#uQGj(9=JnFa`w=3lJ!3mKi;Z&T3qI1I?JaPocThb%yEu8hqK^3v-S(b&sr}qw zPUDvwf1>ass)gTRePcKNK;ac;IxmIJFNtWuuwUgRUZWH>6WLON%_3XIrpePWD6zEo uC0*S}UEQFuc2!(!yh8D)aQO=_ri6AH@=bg|oP`f@iLV7 literal 0 HcmV?d00001 diff --git a/target/classes/net/limework/skLimework/elements/ExprMessage.class b/target/classes/net/limework/skLimework/elements/ExprMessage.class new file mode 100644 index 0000000000000000000000000000000000000000..7e758602f8d40d3b867a7ffbd828a3eb0fd26a4c GIT binary patch literal 1985 zcmb_dU2hXd6g{)+*uili7zlxW5Fk)HPO`L3KkbGh3Q~lDDn>{J^M^!yDyDXc;COq)q`PzHVz4y$$Il>g`?kiR*Z--*>KiZWIxAq@()2ODkH`4qCJtIZP)G>7lu$ zy~RPY6IidcgRt*($Af{29r=W@IXCp!e2{mTf(2%biNMk{n1JZ=#}o=$#}d91nETNU zBe^4^u@?(ewtZiQCIv~Yc54sYy~mEf8+a5dR3i$fbJPM+9~Jn`?aW{tE6=&*N$E@1 zZ)V4NT*q)2kKszraZ}4WCo@*MK7XiZW}^7pre=fGtH9~Z@7{1oKguV%k=eadd;*Jm zONtktmetB(fworly$%nRQro>hHEkB@+e)bZ@L>H>O&05XCw6;-+wLe$aC#Z;;ket~ zmA#mmUY#hdxsHw+jy(CMdRhl#&{~x{!8q*6n@acGLarM(bemOh1ZAGTX}Q-8Gat%F zDq0>Ut;_7Eb-L-I$O-%%4Mqr`bWq_ccx!I`fU${gpob2tmmGpoNt{Kkca3df>3oWnfVmBau? zaf~}kkK-IQc#X3LTZI>T%pn(YNGn5Dae`JFxt=2Js`YXo^i&RNr_hte<`hATIL%R0 zT;ptWwyXAjinE4dIr*GY&=5;FLy%sb#RrT;;6p5@5&gp5jCNykv2(ecGi;m5*Nn}g zq!$dEg^O4ri&o$gE*q~FK0%FtV0E4*`f2-B+9#HB;y-ww4?lgX>@ec~mQ7!xl z>nFSMHwv#X(|IX$en~_}4f`ct;$=!vGm$MO*etRoY?wS9gA$7iKhV{c)YTOlYgfh9 j#w!%}3zxs}VoGSIA%BX`h_moH&T-cD^ATG37-#+mWZ&LR literal 0 HcmV?d00001 diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml new file mode 100644 index 0000000..4cecdb6 --- /dev/null +++ b/target/classes/plugin.yml @@ -0,0 +1,6 @@ +main: net.limework.skLimework.AddonPlugin +name: SKLimework +version: 1.0 +author: limework.net +depend: + - Skript \ No newline at end of file