diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java
index 1a7ddb7..1ddbf20 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeAPI.java
@@ -4,7 +4,6 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Multimap;
-import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
import com.imaginarycode.minecraft.redisbungee.internal.RedisBungeePlugin;
import org.checkerframework.checker.nullness.qual.NonNull;
import redis.clients.jedis.Jedis;
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java
index bb9775b..a38d64c 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/DataManager.java
@@ -8,7 +8,6 @@ import com.google.common.util.concurrent.UncheckedExecutionException;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
-import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
import redis.clients.jedis.Jedis;
import java.lang.reflect.InvocationTargetException;
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/EventsPlatform.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/EventsPlatform.java
new file mode 100644
index 0000000..6281e26
--- /dev/null
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/EventsPlatform.java
@@ -0,0 +1,20 @@
+package com.imaginarycode.minecraft.redisbungee.internal;
+
+/**
+ * Since each platform have their own events' implementation for example Bungeecord events extends Event while velocity don't
+ *
+ * @author Ham1255
+ * @since 0.7.0
+ *
+ */
+public interface EventsPlatform {
+
+ Class> getPubSubEventClass();
+
+ Class> getNetworkJoinEventClass();
+
+ Class> getServerChangeEventClass();
+
+ Class> getNetworkQuitEventClass();
+
+}
diff --git a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java
index dfa369d..c400802 100644
--- a/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java
+++ b/RedisBungee-API/src/main/java/com/imaginarycode/minecraft/redisbungee/internal/RedisBungeePlugin.java
@@ -2,10 +2,6 @@ package com.imaginarycode.minecraft.redisbungee.internal;
import com.google.common.collect.Multimap;
import com.imaginarycode.minecraft.redisbungee.RedisBungeeAPI;
-import com.imaginarycode.minecraft.redisbungee.events.PlayerChangedServerNetworkEvent;
-import com.imaginarycode.minecraft.redisbungee.events.PlayerJoinedNetworkEvent;
-import com.imaginarycode.minecraft.redisbungee.events.PlayerLeftNetworkEvent;
-import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
import com.imaginarycode.minecraft.redisbungee.internal.util.uuid.UUIDTranslator;
import java.net.InetAddress;
@@ -23,7 +19,7 @@ import java.util.concurrent.TimeUnit;
* @since 0.7.0
*
*/
-public interface RedisBungeePlugin
extends JedisSummoner {
+public interface RedisBungeePlugin
extends JedisSummoner, EventsPlatform{
default void enable() {
@@ -93,22 +89,6 @@ public interface RedisBungeePlugin
extends JedisSummoner {
void sendProxyCommand(String cmd);
- default Class> getPubSubEventClass() {
- return PubSubMessageEvent.class;
- }
-
- default Class> getNetworkJoinEventClass() {
- return PlayerJoinedNetworkEvent.class;
- }
-
- default Class> getServerChangeEventClass() {
- return PlayerChangedServerNetworkEvent.class;
- }
-
- default Class> getNetworkQuitEventClass() {
- return PlayerLeftNetworkEvent.class;
- }
-
long getRedisTime(List timeRes);
void loadConfig() throws Exception;
diff --git a/RedisBungee-Bungee/pom.xml b/RedisBungee-Bungee/pom.xml
index f511693..b94d721 100644
--- a/RedisBungee-Bungee/pom.xml
+++ b/RedisBungee-Bungee/pom.xml
@@ -90,6 +90,11 @@
RedisBungee-API
0.7.0-SNAPSHOT
+
+ com.imaginarycode.minecraft
+ RedisBungee-BungeeEvents
+ 0.7.0-SNAPSHOT
+
net.md-5
bungeecord-api
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/BungeeDataManager.java b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/BungeeDataManager.java
index ee7b65c..d5f9fea 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/BungeeDataManager.java
+++ b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/BungeeDataManager.java
@@ -1,6 +1,6 @@
package com.imaginarycode.minecraft.redisbungee;
-import com.imaginarycode.minecraft.redisbungee.events.bungee.PubSubMessageEvent;
+import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
import com.imaginarycode.minecraft.redisbungee.internal.DataManager;
import com.imaginarycode.minecraft.redisbungee.internal.RedisBungeePlugin;
import net.md_5.bungee.api.connection.ProxiedPlayer;
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java
index 477ebee..cd50474 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java
+++ b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeBungeePlugin.java
@@ -9,7 +9,9 @@ import com.google.common.collect.Multimap;
import com.google.common.io.ByteStreams;
import com.google.gson.Gson;
import com.imaginarycode.minecraft.redisbungee.commands.RedisBungeeCommands;
-import com.imaginarycode.minecraft.redisbungee.events.bungee.*;
+import com.imaginarycode.minecraft.redisbungee.events.PlayerChangedServerNetworkEvent;
+import com.imaginarycode.minecraft.redisbungee.events.PlayerJoinedNetworkEvent;
+import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
import com.imaginarycode.minecraft.redisbungee.internal.*;
import com.imaginarycode.minecraft.redisbungee.internal.util.IOUtil;
import com.imaginarycode.minecraft.redisbungee.internal.util.LuaManager;
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java
index 167bbce..ff8f414 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java
+++ b/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/RedisBungeeListener.java
@@ -9,7 +9,7 @@ import com.google.common.io.ByteStreams;
import com.imaginarycode.minecraft.redisbungee.internal.AbstractRedisBungeeListener;
import com.imaginarycode.minecraft.redisbungee.internal.DataManager;
import com.imaginarycode.minecraft.redisbungee.internal.RedisBungeePlugin;
-import com.imaginarycode.minecraft.redisbungee.events.bungee.PubSubMessageEvent;
+import com.imaginarycode.minecraft.redisbungee.events.PubSubMessageEvent;
import com.imaginarycode.minecraft.redisbungee.internal.RedisUtil;
import com.imaginarycode.minecraft.redisbungee.internal.util.RedisCallable;
import net.md_5.bungee.api.AbstractReconnectHandler;
diff --git a/RedisBungee-BungeeEvents/pom.xml b/RedisBungee-BungeeEvents/pom.xml
new file mode 100644
index 0000000..e853888
--- /dev/null
+++ b/RedisBungee-BungeeEvents/pom.xml
@@ -0,0 +1,39 @@
+
+
+
+ RedisBungee
+ com.imaginarycode.minecraft
+ 0.7.0-SNAPSHOT
+
+ 4.0.0
+
+ RedisBungee-BungeeEvents
+
+
+ 8
+ 8
+
+
+
+
+ bungeecord-repo
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+
+
+
+
+
+ net.md-5
+ bungeecord-api
+ 1.17-R0.1-SNAPSHOT
+ jar
+ provided
+
+
+
+
+
\ No newline at end of file
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java
similarity index 93%
rename from RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java
rename to RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java
index e817858..ac01a96 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java
+++ b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerChangedServerNetworkEvent.java
@@ -1,4 +1,4 @@
-package com.imaginarycode.minecraft.redisbungee.events.bungee;
+package com.imaginarycode.minecraft.redisbungee.events;
import net.md_5.bungee.api.plugin.Event;
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerJoinedNetworkEvent.java b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerJoinedNetworkEvent.java
similarity index 90%
rename from RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerJoinedNetworkEvent.java
rename to RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerJoinedNetworkEvent.java
index 8f952b0..b9eac18 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerJoinedNetworkEvent.java
+++ b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerJoinedNetworkEvent.java
@@ -1,4 +1,4 @@
-package com.imaginarycode.minecraft.redisbungee.events.bungee;
+package com.imaginarycode.minecraft.redisbungee.events;
import net.md_5.bungee.api.plugin.Event;
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerLeftNetworkEvent.java b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerLeftNetworkEvent.java
similarity index 90%
rename from RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerLeftNetworkEvent.java
rename to RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerLeftNetworkEvent.java
index 1d42429..5e9e5ab 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerLeftNetworkEvent.java
+++ b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PlayerLeftNetworkEvent.java
@@ -1,4 +1,4 @@
-package com.imaginarycode.minecraft.redisbungee.events.bungee;
+package com.imaginarycode.minecraft.redisbungee.events;
import net.md_5.bungee.api.plugin.Event;
diff --git a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PubSubMessageEvent.java b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PubSubMessageEvent.java
similarity index 90%
rename from RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PubSubMessageEvent.java
rename to RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PubSubMessageEvent.java
index 5eabc57..32bcb40 100644
--- a/RedisBungee-Bungee/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PubSubMessageEvent.java
+++ b/RedisBungee-BungeeEvents/src/main/java/com/imaginarycode/minecraft/redisbungee/events/PubSubMessageEvent.java
@@ -1,4 +1,4 @@
-package com.imaginarycode.minecraft.redisbungee.events.bungee;
+package com.imaginarycode.minecraft.redisbungee.events;
import net.md_5.bungee.api.plugin.Event;
diff --git a/pom.xml b/pom.xml
index 939f3e1..7feb7cf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
RedisBungee-API
RedisBungee-Bungee
+ RedisBungee-BungeeEvents