diff --git a/Bukkit/Loader/pom.xml b/Bukkit/Loader/pom.xml
index 2de422c..b4dff27 100644
--- a/Bukkit/Loader/pom.xml
+++ b/Bukkit/Loader/pom.xml
@@ -53,10 +53,6 @@
antivpn-bukkit.jarinjar
${project.parent.basedir}/Plugin/target/Plugin-${project.version}.jar
-
- antivpn-source.jarinjar
- ${project.parent.parent.basedir}/Common/Source/target/Source-${project.version}.jar
-
diff --git a/Bukkit/Plugin/pom.xml b/Bukkit/Plugin/pom.xml
index e55809e..0a35b0c 100644
--- a/Bukkit/Plugin/pom.xml
+++ b/Bukkit/Plugin/pom.xml
@@ -95,7 +95,7 @@
dev.brighten.antivpn
loader-utils
1.9.4
- compile
+ provided
diff --git a/Bungee/BungeeLoader/pom.xml b/Bungee/BungeeLoader/pom.xml
new file mode 100644
index 0000000..0aea182
--- /dev/null
+++ b/Bungee/BungeeLoader/pom.xml
@@ -0,0 +1,87 @@
+
+
+ 4.0.0
+
+ dev.brighten.antivpn
+ Bungee
+ 1.9.4
+ ../pom.xml
+
+
+ dev.brighten.antivpn.bungee
+ BungeeLoader
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.13.0
+
+ 17
+ 17
+ -XDignore.symbol.file
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+ package
+
+ shade
+
+
+ false
+
+
+ antivpn-bungee.jarinjar
+ ${project.parent.basedir}/BungeePlugin/target/BungeePlugin-${project.version}.jar
+
+
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+ net.md-5
+ bungeecord-api
+ 1.21-R0.2
+ jar
+ provided
+
+
+ dev.brighten.antivpn
+ Plugin
+ ${project.version}
+ provided
+
+
+ dev.brighten.antivpn
+ loader-utils
+ 1.9.4
+ compile
+
+
+
+
\ No newline at end of file
diff --git a/Bungee/BungeeLoader/src/main/java/dev/brighten/antivpn/bungee/BungeeLoaderPlugin.java b/Bungee/BungeeLoader/src/main/java/dev/brighten/antivpn/bungee/BungeeLoaderPlugin.java
new file mode 100644
index 0000000..353be25
--- /dev/null
+++ b/Bungee/BungeeLoader/src/main/java/dev/brighten/antivpn/bungee/BungeeLoaderPlugin.java
@@ -0,0 +1,36 @@
+package dev.brighten.antivpn.bungee;
+
+import dev.brighten.antivpn.loader.JarInJarClassLoader;
+import dev.brighten.antivpn.loader.LoaderBootstrap;
+import net.md_5.bungee.api.plugin.Plugin;
+
+public class BungeeLoaderPlugin extends Plugin {
+
+ private static final String JAR_NAME = "antivpn-bungee.jarinjar";
+ private static final String SOURCE_NAME = "antivpn-source.jarinjar";
+ private static final String BOOTSTRAP_CLASS = "dev.brighten.antivpn.bungee.BungeePlugin";
+
+ private final LoaderBootstrap plugin;
+
+ public BungeeLoaderPlugin() {
+ JarInJarClassLoader loader = new JarInJarClassLoader(getClass().getClassLoader(), JAR_NAME, SOURCE_NAME);
+ this.plugin = loader.instantiatePlugin(BOOTSTRAP_CLASS, Plugin.class, this);
+ }
+
+ @Override
+ public void onLoad() {
+ this.plugin.onLoad(getDataFolder());
+ }
+
+ @Override
+ public void onEnable() {
+ this.plugin.onEnable();
+ }
+
+ @Override
+ public void onDisable() {
+ this.plugin.onDisable();
+ }
+
+
+}
diff --git a/Bungee/src/main/resources/bungee.yml b/Bungee/BungeeLoader/src/main/resources/bungee.yml
similarity index 67%
rename from Bungee/src/main/resources/bungee.yml
rename to Bungee/BungeeLoader/src/main/resources/bungee.yml
index b045000..afa76f7 100644
--- a/Bungee/src/main/resources/bungee.yml
+++ b/Bungee/BungeeLoader/src/main/resources/bungee.yml
@@ -1,5 +1,5 @@
name: KauriVPN
-main: dev.brighten.antivpn.bungee.BungeePlugin
+main: dev.brighten.antivpn.bungee.BungeeLoaderPlugin
description: A simple and fast antivpn plugin.
version: ${project.version}
author: funkemunky
\ No newline at end of file
diff --git a/Bungee/BungeePlugin/pom.xml b/Bungee/BungeePlugin/pom.xml
new file mode 100644
index 0000000..1727eb0
--- /dev/null
+++ b/Bungee/BungeePlugin/pom.xml
@@ -0,0 +1,96 @@
+
+
+ 4.0.0
+
+ dev.brighten.antivpn
+ Bungee
+ 1.9.4
+ ../pom.xml
+
+
+ BungeePlugin
+
+
+ 17
+ 17
+ UTF-8
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.13.0
+
+ 17
+ 17
+ -XDignore.symbol.file
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.6.0
+
+
+
+ org.bstats
+
+ dev.brighten.antivpn.bungee.org.bstats
+
+
+ org.yaml.snakeyaml
+ dev.brighten.antivpn.shaded.org.yaml.snakeyaml
+
+
+
+
+
+ package
+
+ shade
+
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+
+
+ dev.brighten.antivpn
+ Source
+ 1.9.4
+ provided
+
+
+ net.md-5
+ bungeecord-api
+ 1.21-R0.2
+ jar
+ provided
+
+
+ org.bstats
+ bstats-bungeecord
+ 2.2.1
+ compile
+
+
+ dev.brighten.antivpn
+ loader-utils
+ 1.9.4
+ provided
+
+
+
+
\ No newline at end of file
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java
similarity index 95%
rename from Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java
rename to Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java
index ae5c12e..59cd590 100644
--- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java
+++ b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeeListener.java
@@ -25,7 +25,7 @@ public class BungeeListener extends VPNExecutor implements Listener {
@Override
public void registerListeners() {
BungeePlugin.pluginInstance.getProxy().getPluginManager()
- .registerListener(BungeePlugin.pluginInstance, this);
+ .registerListener(BungeePlugin.pluginInstance.getPlugin(), this);
}
@Override
@@ -51,12 +51,12 @@ public class BungeeListener extends VPNExecutor implements Listener {
@Override
public void disablePlugin() {
- BungeePlugin.pluginInstance.getProxy().getPluginManager().unregisterListeners(BungeePlugin.pluginInstance);
+ BungeePlugin.pluginInstance.getProxy().getPluginManager().unregisterListeners(BungeePlugin.pluginInstance.getPlugin());
if (cacheResetTask != null) {
cacheResetTask.cancel();
cacheResetTask = null;
}
- BungeePlugin.pluginInstance.getProxy().getPluginManager().unregisterCommands(BungeePlugin.pluginInstance);
+ BungeePlugin.pluginInstance.getProxy().getPluginManager().unregisterCommands(BungeePlugin.pluginInstance.getPlugin());
BungeePlugin.pluginInstance.onDisable();
}
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlayer.java b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlayer.java
similarity index 100%
rename from Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlayer.java
rename to Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlayer.java
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlayerExecutor.java b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlayerExecutor.java
similarity index 100%
rename from Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlayerExecutor.java
rename to Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlayerExecutor.java
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
similarity index 61%
rename from Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
rename to Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
index 15e29bc..f8361fd 100644
--- a/Bungee/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
+++ b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/BungeePlugin.java
@@ -7,39 +7,58 @@ import dev.brighten.antivpn.database.VPNDatabase;
import dev.brighten.antivpn.database.local.H2VPN;
import dev.brighten.antivpn.database.mongo.MongoVPN;
import dev.brighten.antivpn.database.sql.MySqlVPN;
+import dev.brighten.antivpn.loader.LoaderBootstrap;
+import lombok.Getter;
+import net.md_5.bungee.api.ProxyServer;
import net.md_5.bungee.api.plugin.Plugin;
import org.bstats.bungeecord.Metrics;
import org.bstats.charts.SimplePie;
+import java.io.File;
import java.util.concurrent.TimeUnit;
-public class BungeePlugin extends Plugin {
+public class BungeePlugin implements LoaderBootstrap {
public static BungeePlugin pluginInstance;
+
+ @Getter
+ private File dataFolder;
+
+ @Getter
+ private final Plugin plugin;
+
+ public BungeePlugin(Plugin plugin) {
+ this.plugin = plugin;
+ }
+
+ @Override
+ public void onLoad(File dataFolder) {
+ this.dataFolder = dataFolder;
+ }
@Override
public void onEnable() {
pluginInstance = this;
//Setting up config
- getProxy().getLogger().info("Loading config...");
+ ProxyServer.getInstance().getLogger().info("Loading config...");
//Loading plugin
- getProxy().getLogger().info("Starting AntiVPN services...");
+ ProxyServer.getInstance().getLogger().info("Starting AntiVPN services...");
AntiVPN.start(new BungeeListener(), new BungeePlayerExecutor(), getDataFolder());
if(AntiVPN.getInstance().getVpnConfig().metrics()) {
- getProxy().getLogger().info("Starting bStats metrics...");
- Metrics metrics = new Metrics(this, 12616);
+ ProxyServer.getInstance().getLogger().info("Starting bStats metrics...");
+ Metrics metrics = new Metrics(getPlugin(), 12616);
metrics.addCustomChart(new SimplePie("database_used", this::getDatabaseType));
- getProxy().getScheduler().schedule(this,
+ ProxyServer.getInstance().getScheduler().schedule(getPlugin(),
() -> AntiVPN.getInstance().checked = AntiVPN.getInstance().detections = 0,
10, 10, TimeUnit.MINUTES);
}
for (Command command : AntiVPN.getInstance().getCommands()) {
- getProxy().getPluginManager().registerCommand(pluginInstance, new BungeeCommand(command));
+ ProxyServer.getInstance().getPluginManager().registerCommand(getPlugin(), new BungeeCommand(command));
}
}
@@ -61,4 +80,8 @@ public class BungeePlugin extends Plugin {
return "No-Database";
}
}
+
+ public ProxyServer getProxy() {
+ return ProxyServer.getInstance();
+ }
}
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java
similarity index 100%
rename from Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java
rename to Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommand.java
diff --git a/Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommandExecutor.java b/Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommandExecutor.java
similarity index 100%
rename from Bungee/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommandExecutor.java
rename to Bungee/BungeePlugin/src/main/java/dev/brighten/antivpn/bungee/command/BungeeCommandExecutor.java
diff --git a/Bungee/pom.xml b/Bungee/pom.xml
index deba83b..83aee15 100644
--- a/Bungee/pom.xml
+++ b/Bungee/pom.xml
@@ -7,82 +7,9 @@
dev.brighten.antivpn
1.9.4
+ pom
4.0.0
Bungee
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 3.13.0
-
- 17
- 17
- -XDignore.symbol.file
-
-
-
- org.apache.maven.plugins
- maven-shade-plugin
- 3.6.0
-
-
-
- org.bstats
-
- dev.brighten.antivpn.bungee.org.bstats
-
-
- org.yaml.snakeyaml
- dev.brighten.antivpn.shaded.org.yaml.snakeyaml
-
-
-
-
-
- package
-
- shade
-
-
-
-
-
-
-
- src/main/resources
- true
-
-
-
-
-
- 17
- 17
-
-
-
-
- dev.brighten.antivpn
- Source
- 1.9.4
- provided
-
-
- net.md-5
- bungeecord-api
- 1.21-R0.2
- jar
- provided
-
-
- org.bstats
- bstats-bungeecord
- 2.2.1
- compile
-
-
-
\ No newline at end of file
diff --git a/Universal/pom.xml b/Universal/pom.xml
index 956a675..44ff3b2 100644
--- a/Universal/pom.xml
+++ b/Universal/pom.xml
@@ -18,12 +18,6 @@
-
- dev.brighten.antivpn
- Source
- ${project.version}
- compile
-
dev.brighten.antivpn.bukkit
Loader
@@ -32,13 +26,13 @@
dev.brighten.antivpn
- Bungee
+ VelocityLoader
${project.version}
compile
- dev.brighten.antivpn
- VelocityPlugin
+ dev.brighten.antivpn.bungee
+ BungeeLoader
${project.version}
compile
@@ -61,6 +55,10 @@
false
+
+ antivpn-source.jarinjar
+ ${project.parent.basedir}/Common/Source/target/Source-${project.version}.jar
+
diff --git a/Velocity/VelocityLoader/pom.xml b/Velocity/VelocityLoader/pom.xml
index 5eaa4e1..1a52d54 100644
--- a/Velocity/VelocityLoader/pom.xml
+++ b/Velocity/VelocityLoader/pom.xml
@@ -81,10 +81,6 @@
antivpn-velocity.jarinjar
${project.parent.basedir}/VelocityPlugin/target/VelocityPlugin-${project.version}.jar
-
- antivpn-source.jarinjar
- ${project.parent.parent.basedir}/Common/Source/target/Source-${project.version}.jar
-
diff --git a/Velocity/VelocityPlugin/pom.xml b/Velocity/VelocityPlugin/pom.xml
index 2f794f5..d475480 100644
--- a/Velocity/VelocityPlugin/pom.xml
+++ b/Velocity/VelocityPlugin/pom.xml
@@ -48,7 +48,7 @@
dev.brighten.antivpn
loader-utils
1.9.4
- compile
+ provided
diff --git a/pom.xml b/pom.xml
index 6cd1b17..f895638 100644
--- a/pom.xml
+++ b/pom.xml
@@ -18,6 +18,8 @@
Universal
Velocity/VelocityLoader
Velocity/VelocityPlugin
+ Bungee/BungeeLoader
+ Bungee/BungeePlugin