diff --git a/oldMain.java b/oldMain.java deleted file mode 100644 index da07dcf..0000000 --- a/oldMain.java +++ /dev/null @@ -1,336 +0,0 @@ -package us.ajg0702.queue; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.concurrent.TimeUnit; - -import net.md_5.bungee.api.Callback; -import net.md_5.bungee.api.ProxyServer; -import net.md_5.bungee.api.ServerPing; -import net.md_5.bungee.api.chat.BaseComponent; -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 net.md_5.bungee.api.event.PlayerDisconnectEvent; -import net.md_5.bungee.api.event.ServerSwitchEvent; -import net.md_5.bungee.api.plugin.Listener; -import net.md_5.bungee.api.plugin.Plugin; -import net.md_5.bungee.event.EventHandler; -import us.ajg0702.queue.commands.LeaveCommand; -import us.ajg0702.queue.commands.ManageCommand; -import us.ajg0702.queue.commands.MoveCommand; -import us.ajg0702.queue.utils.BungeeConfig; -import us.ajg0702.queue.utils.BungeeMessages; -import us.ajg0702.queue.utils.BungeeStats; -import us.ajg0702.queue.utils.BungeeUtils; - -public class oldMain extends Plugin implements Listener { - - static oldMain plugin = null; - - public int timeBetweenPlayers = 5; - - BungeeStats metrics; - - BungeeMessages msgs; - - BungeeConfig config; - - boolean isp; - - @Override - public void onEnable() { - plugin = this; - - msgs = BungeeMessages.getInstance(this); - - config = new BungeeConfig(this); - checkConfig(); - - this.getProxy().getPluginManager().registerCommand(this, new MoveCommand(this)); - this.getProxy().getPluginManager().registerCommand(this, new ManageCommand(this)); - this.getProxy().getPluginManager().registerCommand(this, new LeaveCommand(this)); - - this.getProxy().getPluginManager().registerListener(this, this); - - getProxy().registerChannel("ajqueue:tospigot"); - - timeBetweenPlayers = config.getInt("wait-time"); - - updateOnlineServers(); - - try { - Class.forName("us.ajg0702.queue.Logic"); - isp = true; - } catch(ClassNotFoundException e) { - isp = false; - } - - - metrics = new BungeeStats(this, 7404); - - - } - - public boolean isp() { - return isp; - } - - public static oldMain getInstance() { - return plugin; - } - - public void checkConfig() { - List svs = getConfig().getStringList("queue-servers"); - for(String s : svs) { - if(!s.contains(":")) { - getLogger().warning("The queue-servers section in the config has been set up incorrectly! Please read the comment above the setting and make sure you have a queue server and a destination server separated by a colon (:)"); - break; - } - } - } - - public BungeeConfig getConfig() { - return config; - } - - public static BaseComponent[] formatMessage(String text) { - return TextComponent.fromLegacyText(net.md_5.bungee.api.ChatColor.translateAlternateColorCodes('&', text)); - } - - - HashMap offlineTime = new HashMap<>(); - boolean notif = false; - public void sendPlayers(String sv) { - for(String server : queues.keySet()) { - if(sv != null && !server.equalsIgnoreCase(sv)) continue; - List plys = queues.get(server); - if(plys.size() <= 0) continue; - while(!plys.get(0).isConnected()) { - plys.remove(0); - if(plys.size() <= 0) break; - } - if(plys.size() <= 0) continue; - ProxiedPlayer p = plys.get(0); - if(!servers.get(server)) { - int ot; - if(!offlineTime.containsKey(server)) { - ot = timeBetweenPlayers; - } else { - ot = offlineTime.get(server)+timeBetweenPlayers; - } - offlineTime.put(server, ot); - for(ProxiedPlayer ply : plys) { - int pos = plys.indexOf(ply)+1; - if(pos == 0) { - plys.remove(ply); - continue; - } - int len = plys.size(); - String or = msgs.get("status.offline.restarting"); - if(ot > config.getInt("offline-time")) { - or = msgs.get("status.offline.offline"); - } else { - //ply.sendMessage(formatMessage(ot + " <= "+offlineSecs)); - } - if(notif) { - ply.sendMessage(formatMessage( - msgs.get("status.offline.base") - .replaceAll("\\{STATUS\\}", or) - .replaceAll("\\{POS\\}", pos+"") - .replaceAll("\\{LEN\\}", len+"") - )); - } - if(getConfig().getBoolean("send-actionbar")) { - BungeeUtils.sendCustomData(ply, "actionbar", msgs.get("spigot.actionbar.offline") - .replaceAll("\\{POS\\}", pos+"") - .replaceAll("\\{LEN\\}", len+"") - .replaceAll("\\{STATUS\\}", or)+";time="+timeBetweenPlayers); - } - } - if(!notif) { - notif = true; - } else { - notif = false; - } - continue; - } else { - offlineTime.put(server, 0); - ServerInfo target = ProxyServer.getInstance().getServerInfo(server); - p.connect(target); - //plys.remove(p); - } - - for(ProxiedPlayer ply : plys) { - int pos = plys.indexOf(ply)+1; - int len = plys.size(); - int time = pos*timeBetweenPlayers; - int min = (int) Math.floor((time) / (60)); - int sec = (int) Math.floor((time % (60))); - String timeStr; - if(min <= 0) { - timeStr = msgs.get("format.time.secs") - .replaceAll("\\{m\\}", "0") - .replaceAll("\\{s\\}", sec+""); - } else { - timeStr = msgs.get("format.time.mins") - .replaceAll("\\{m\\}", min+"") - .replaceAll("\\{s\\}", sec+""); - } - if(notif) { - ply.sendMessage(formatMessage( - msgs.get("status.online.base") - .replaceAll("\\{POS\\}", pos+"") - .replaceAll("\\{LEN\\}", len+"") - .replaceAll("\\{TIME\\}", timeStr) - )); - } - if(getConfig().getBoolean("send-actionbar")) { - BungeeUtils.sendCustomData(ply, "actionbar", msgs.get("spigot.actionbar.online") - .replaceAll("\\{POS\\}", pos+"") - .replaceAll("\\{LEN\\}", len+"") - .replaceAll("\\{TIME\\}", timeStr)+";time="+timeBetweenPlayers); - } - } - if(!notif) { - notif = true; - } else { - notif = false; - } - } - - } - public void sendPlayers() { - sendPlayers(null); - } - - - @EventHandler - public void moveServer(ServerSwitchEvent e) { - ProxiedPlayer p = e.getPlayer(); - String queue = getPlayerInQueue(p); - if(queue != null) { - queues.get(queue).remove(p); - } - - String servername = e.getPlayer().getServer().getInfo().getName(); - List svs = config.getStringList("queue-servers"); - for(String s : svs) { - if(!s.contains(":")) continue; - String[] parts = s.split("\\:"); - String from = parts[0]; - String to = parts[1]; - if(from.equalsIgnoreCase(servername)) { - addToQueue(p, to); - } - } - } - - @EventHandler - public void onLeave(PlayerDisconnectEvent e) { - ProxiedPlayer p = e.getPlayer(); - String queue = getPlayerInQueue(p); - if(queue != null) { - queues.get(queue).remove(p); - } - } - - - HashMap servers = new HashMap<>(); - public void updateOnlineServers() { - for(final String server : getProxy().getServers().keySet()) { - if(!servers.containsKey(server)) { - servers.put(server, false); - } - getProxy().getServers().get(server).ping(new Callback() { - - @Override - public void done(ServerPing result, Throwable error) { - servers.put(server, error == null); - } - }); - } - } - - - public HashMap> queues = new HashMap<>(); - public void addToQueue(ProxiedPlayer p, String server) { - //getLogger().info("adding "+p.getDisplayName()+" to queue "+server); - if(!servers.containsKey(server)) { - p.sendMessage(msgs.getBC("errors.server-not-exist")); - return; - } - if(!queues.containsKey(server)) { - queues.put(server, new ArrayList()); - } - if(p.getServer().getInfo().getName().equals(server)) { - p.sendMessage(msgs.getBC("errors.already-connected")); - return; - } - String currentQueued = getPlayerInQueue(p); - List list = queues.get(server); - if(list.indexOf(p) != -1) { - int pos = list.indexOf(p)+1; - int len = list.size(); - p.sendMessage(formatMessage( - msgs.get("errors.already-queued") - .replaceAll("\\{POS\\}", pos+"") - .replaceAll("\\{LEN\\}", len+"") - )); - return; - } - if(currentQueued != null) { - queues.get(currentQueued).remove(p); - p.sendMessage(msgs.getBC("status.left-last-queue")); - } - if(isp) { - us.ajg0702.queue.Logic.priorityLogic(list, server, p); - } else { - if((p.hasPermission("ajqueue.priority") || p.hasPermission("ajqueue.serverpriority."+server)) && list.size() > 0) { - int i = 0; - for(ProxiedPlayer ply : list) { - if(!(ply.hasPermission("ajqueue.priority") || ply.hasPermission("ajqueue.serverpriority."+server))) { - list.add(i, p); - break; - } - i++; - } - if(list.size() == 0) { - list.add(p); - } - } else { - list.add(p); - } - } - int pos = list.indexOf(p)+1; - int len = list.size(); - p.sendMessage(formatMessage( - msgs.get("status.now-in-queue") - .replaceAll("\\{POS\\}", pos+"") - .replaceAll("\\{LEN\\}", len+"") - )); - - if(list.size() <= 1) { - sendPlayers(server); - } - } - - - public void sendPlayer(ProxiedPlayer p) { - String server = getPlayerInQueue(p); - if(server == null) return; - sendPlayers(server); - } - - - public String getPlayerInQueue(ProxiedPlayer p) { - for(String server : queues.keySet()) { - if(queues.get(server).indexOf(p) != -1) { - return server; - } - } - return null; - } - -}