Skip to content
This repository was archived by the owner on Feb 8, 2020. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
</classpath>
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
/target/
23 changes: 23 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>QueueSystem</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
</natures>
</projectDescription>
4 changes: 4 additions & 0 deletions .settings/org.eclipse.core.resources.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding//src/main/java=UTF-8
encoding//src/main/resources=UTF-8
encoding/<project>=UTF-8
12 changes: 12 additions & 0 deletions .settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -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
4 changes: 4 additions & 0 deletions .settings/org.eclipse.m2e.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
activeProfiles=
eclipse.preferences.version=1
resolveWorkspaceProjects=true
version=1
61 changes: 61 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>1.4</modelVersion>

<groupId>com.tara3208.valuxtrial.main</groupId>
<artifactId>QueueSystem</artifactId>
<version>1.4</version>
<packaging>jar</packaging>

<name>BungeeUtils</name>
<url>http://maven.apache.org</url>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<repositories>
<repository>
<id>bungeecord-repo</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>

<dependencies>
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-api</artifactId>
<version>1.10-SNAPSHOT</version>
<type>jar</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.md-5</groupId>
<artifactId>bungeecord-api</artifactId>
<version>1.10-SNAPSHOT</version>
<type>javadoc</type>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

</project>
19 changes: 12 additions & 7 deletions src/main/java/com/tara3208/valuxtrial/api/types/QueueSystem.java
Original file line number Diff line number Diff line change
@@ -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 {

Expand Down Expand Up @@ -53,7 +58,7 @@ public void run() {
proxiedPlayer = (ProxiedPlayer) toMove;
}

proxiedPlayer.connect(server);
proxiedPlayer.connect(serverInfo);

queue.remove(proxiedPlayer);

Expand All @@ -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);
Expand Down
43 changes: 27 additions & 16 deletions src/main/java/com/tara3208/valuxtrial/main/Queues.java
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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));
});
}

Expand Down Expand Up @@ -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;
Expand Down