diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..6d7587a --- /dev/null +++ b/.classpath @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/.project b/.project new file mode 100644 index 0000000..62b28ad --- /dev/null +++ b/.project @@ -0,0 +1,23 @@ + + + QueueSystem + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.m2e.core.maven2Builder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.m2e.core.maven2Nature + + diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs new file mode 100644 index 0000000..abdea9a --- /dev/null +++ b/.settings/org.eclipse.core.resources.prefs @@ -0,0 +1,4 @@ +eclipse.preferences.version=1 +encoding//src/main/java=UTF-8 +encoding//src/main/resources=UTF-8 +encoding/=UTF-8 diff --git a/.settings/org.eclipse.jdt.core.prefs b/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..672496e --- /dev/null +++ b/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,12 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..f560193 --- /dev/null +++ b/pom.xml @@ -0,0 +1,61 @@ + + 1.4 + + com.tara3208.valuxtrial.main + QueueSystem + 1.4 + jar + + BungeeUtils + http://maven.apache.org + + + UTF-8 + + + + + bungeecord-repo + https://oss.sonatype.org/content/repositories/snapshots + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.5.1 + + 1.7 + 1.7 + + + + + + + + net.md-5 + bungeecord-api + 1.10-SNAPSHOT + jar + provided + + + net.md-5 + bungeecord-api + 1.10-SNAPSHOT + javadoc + provided + + + junit + junit + 3.8.1 + test + + + + diff --git a/src/main/java/com/tara3208/valuxtrial/api/types/QueueSystem.java b/src/main/java/com/tara3208/valuxtrial/api/types/QueueSystem.java index 1317f8f..56d7195 100644 --- a/src/main/java/com/tara3208/valuxtrial/api/types/QueueSystem.java +++ b/src/main/java/com/tara3208/valuxtrial/api/types/QueueSystem.java @@ -1,20 +1,25 @@ package com.tara3208.valuxtrial.api.types; -import com.tara3208.valuxtrial.main.Queues; -import net.md_5.bungee.BungeeCord; +import java.util.LinkedList; +import java.util.Queue; +import java.util.concurrent.TimeUnit; + import net.md_5.bungee.api.ChatColor; +import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; -import java.util.LinkedList; -import java.util.Queue; -import java.util.concurrent.TimeUnit; +import com.tara3208.valuxtrial.main.Queues; /** * Created by Tara3208 on 7/15/17. * This has been created privately. * Copyright applies. Breach of this is not warranted + * + * Modified by DaeM0nS on 6/03/19. + * Line61 : Change server (needed to be final) to serverInfo (private field) + * Change BungeeCord to ProxyServer */ public class QueueSystem { @@ -53,7 +58,7 @@ public void run() { proxiedPlayer = (ProxiedPlayer) toMove; } - proxiedPlayer.connect(server); + proxiedPlayer.connect(serverInfo); queue.remove(proxiedPlayer); @@ -63,7 +68,7 @@ public void run() { } public void addToQueue(ProxiedPlayer proxiedPlayer) { - if (players >= BungeeCord.getInstance().getPlayers().size()) { + if (players >= ProxyServer.getInstance().getPlayers().size()) { if (queue.contains(proxiedPlayer)) return; queue.add(proxiedPlayer); diff --git a/src/main/java/com/tara3208/valuxtrial/main/Queues.java b/src/main/java/com/tara3208/valuxtrial/main/Queues.java index b931986..21bdd86 100644 --- a/src/main/java/com/tara3208/valuxtrial/main/Queues.java +++ b/src/main/java/com/tara3208/valuxtrial/main/Queues.java @@ -5,26 +5,32 @@ import com.tara3208.valuxtrial.api.types.QueueSystem; import com.tara3208.valuxtrial.main.events.Connection; import com.tara3208.valuxtrial.main.events.Disconnect; -import net.md_5.bungee.BungeeCord; + import net.md_5.bungee.api.ChatMessageType; +import net.md_5.bungee.api.ProxyServer; import net.md_5.bungee.api.chat.TextComponent; import net.md_5.bungee.api.plugin.Plugin; import net.md_5.bungee.config.Configuration; -import java.awt.*; +import java.util.List; import java.util.concurrent.TimeUnit; /** * Created by Tara3208 on 7/15/17. * This has been created privately. * Copyright applies. Breach of this is not warranted + * + * Modified by DaeM0nS on 6/03/19. + * Add serversize list, change the line 81 to set specified size for each servers + * Add serversize in the config file + * Add some test fields in the default config (lists) */ public class Queues extends Plugin { public static String message = ""; public static int size = 2; - public static int players = 0; public static List servers; + public static List serverssize; public static ChatMessageType chatMessageType; private static Queues instance; private static QueueManager queueManager; @@ -58,23 +64,24 @@ public void setNull() { message = null; size = -1; servers = null; + serverssize = null; chatMessageType = null; } private void registerListeners() { - BungeeCord.getInstance().getPluginManager().registerListener(this, new Connection()); - BungeeCord.getInstance().getPluginManager().registerListener(this, new Disconnect()); + ProxyServer.getInstance().getPluginManager().registerListener(this, new Connection()); + ProxyServer.getInstance().getPluginManager().registerListener(this, new Disconnect()); } private void registerQueues() { - BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("Successfully added a queue for: ")); + ProxyServer.getInstance().getConsole().sendMessage(new TextComponent("Successfully added a queue for: ")); Configuration configuration = FileUtils.getConfiguration("config.yml"); configuration.getStringList("servers").forEach(serverName -> { - QueueSystem hub = new QueueSystem(BungeeCord.getInstance().getServerInfo(serverName), TimeUnit.SECONDS, size, players); + QueueSystem hub = new QueueSystem(ProxyServer.getInstance().getServerInfo(serverName), TimeUnit.SECONDS, size, Integer.valueOf(this.serverssize.get(this.servers.indexOf(serverName)).toString())); getQueueManagement().addQueue(hub); - BungeeCord.getInstance().getConsole().sendMessage(new TextComponent("- " + serverName)); + ProxyServer.getInstance().getConsole().sendMessage(new TextComponent("- " + serverName)); }); } @@ -106,19 +113,23 @@ private void make() { this.size = configuration.getInt("delay"); } - if (configuration.get("players") == null) { - configuration.set("players", 0); - this.players = 0; - } else { - this.players = configuration.getInt("players"); - } - // Servers if (configuration.get("servers") == null) { - configuration.set("servers", "[]"); + configuration.set("servers", new String[]{"Server1","Server2","Server3"}); this.servers = null; + }else{ + this.servers = configuration.getStringList("servers"); } + // ServersSizes + if (configuration.get("serverssize") == null) { + configuration.set("serverssize", new String[]{"100","50","50"}); + this.serverssize = null; + }else{ + this.serverssize = configuration.getStringList("serverssize"); + } + + if (configuration.get("messageType") == null) { configuration.set("messageType", "CHAT"); this.chatMessageType = ChatMessageType.CHAT;