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