progress
This commit is contained in:
@@ -23,6 +23,6 @@ public class PlayerSender implements ICommandSender {
|
||||
|
||||
@Override
|
||||
public AdaptedPlayer getHandle() {
|
||||
return null;
|
||||
return handle;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,13 +49,10 @@ public class LeaveCommand extends BaseCommand {
|
||||
|
||||
@Override
|
||||
public void execute(ICommandSender sender, String[] args) {
|
||||
System.out.println("leave command");
|
||||
if(!sender.isPlayer()) {
|
||||
System.out.println("not player");
|
||||
sender.sendMessage(getMessages().getComponent("errors.player-only"));
|
||||
return;
|
||||
}
|
||||
System.out.println("player");
|
||||
AdaptedPlayer player = main.getPlatformMethods().senderToPlayer(sender);
|
||||
List<QueueServer> servers = main.getQueueManager().getPlayerQueues(player);
|
||||
|
||||
@@ -64,7 +61,6 @@ public class LeaveCommand extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("0");
|
||||
|
||||
if(servers.size() == 1) {
|
||||
servers.get(0).removePlayer(player);
|
||||
@@ -72,7 +68,6 @@ public class LeaveCommand extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("1");
|
||||
|
||||
if(args.length <= 0) {
|
||||
sender.sendMessage(getMessages().getComponent("commands.leave.more-args", "QUEUES:"+getQueueList(servers)));
|
||||
@@ -91,7 +86,6 @@ public class LeaveCommand extends BaseCommand {
|
||||
return;
|
||||
}
|
||||
|
||||
System.out.println("2");
|
||||
|
||||
leavingServer.removePlayer(queuePlayer);
|
||||
sender.sendMessage(getMessages().getComponent("commands.leave-queue", "SERVER:"+leavingServer.getAlias()));
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
package us.ajg0702.queue.common;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
import us.ajg0702.queue.api.EventHandler;
|
||||
import us.ajg0702.queue.api.commands.IBaseCommand;
|
||||
import us.ajg0702.queue.api.players.AdaptedPlayer;
|
||||
import us.ajg0702.queue.api.players.QueuePlayer;
|
||||
import us.ajg0702.queue.api.queues.QueueServer;
|
||||
import us.ajg0702.queue.commands.commands.PlayerSender;
|
||||
import us.ajg0702.queue.common.players.QueuePlayerImpl;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.DataInputStream;
|
||||
@@ -30,8 +33,6 @@ public class EventHandlerImpl implements EventHandler {
|
||||
String[] args = new String[1];
|
||||
args[0] = rawData;
|
||||
moveCommand.execute(new PlayerSender(recievingPlayer), args);
|
||||
//man.addToQueue(player, data);
|
||||
|
||||
}
|
||||
if(subchannel.equals("massqueue")) {
|
||||
String inData = in.readUTF();
|
||||
@@ -89,4 +90,24 @@ public class EventHandlerImpl implements EventHandler {
|
||||
e1.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onPlayerJoin(AdaptedPlayer player) {
|
||||
ImmutableList<QueuePlayer> queues = main.getQueueManager().findPlayerInQueues(player);
|
||||
for(QueuePlayer queuePlayer : queues) {
|
||||
queuePlayer.setPlayer(player);
|
||||
}
|
||||
if(queues.size() > 0) {
|
||||
main.getQueueManager().sendMessage(main.getQueueManager().getSingleServer(player).findPlayer(player));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPlayerLeave(AdaptedPlayer player) {
|
||||
ImmutableList<QueuePlayer> queues = main.getQueueManager().findPlayerInQueues(player);
|
||||
for(QueuePlayer queuePlayer : queues) {
|
||||
((QueuePlayerImpl) queuePlayer).setLeaveTime(System.currentTimeMillis());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,6 +96,11 @@ public class QueueMain {
|
||||
}
|
||||
|
||||
|
||||
public void shutdown() {
|
||||
taskManager.shutdown();
|
||||
}
|
||||
|
||||
|
||||
private final File dataFolder;
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ import us.ajg0702.queue.api.queues.QueueServer;
|
||||
import us.ajg0702.queue.api.server.AdaptedServer;
|
||||
import us.ajg0702.queue.api.server.ServerBuilder;
|
||||
import us.ajg0702.queue.common.players.QueuePlayerImpl;
|
||||
import us.ajg0702.utils.bungee.BungeeUtils;
|
||||
import us.ajg0702.utils.common.Messages;
|
||||
import us.ajg0702.utils.common.TimeUtils;
|
||||
|
||||
@@ -131,7 +132,11 @@ public class QueueManagerImpl implements QueueManager {
|
||||
if(!server.isJoinable(player)) {
|
||||
sendMessage(queuePlayer);
|
||||
}
|
||||
main.getPlatformMethods().sendJoinQueueChannelMessages(server, queuePlayer);
|
||||
main.getPlatformMethods().sendPluginMessage(player, "position", pos+"");
|
||||
main.getPlatformMethods().sendPluginMessage(player, "positionof", len+"");
|
||||
main.getPlatformMethods().sendPluginMessage(player, "queuename", server.getAlias());
|
||||
main.getPlatformMethods().sendPluginMessage(player, "inqueue", "true");
|
||||
main.getPlatformMethods().sendPluginMessage(player, "inqueueevent", "true");
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -232,7 +237,6 @@ public class QueueManagerImpl implements QueueManager {
|
||||
for(QueueServer server : servers) {
|
||||
String status = server.getStatusString();
|
||||
for(QueuePlayer queuePlayer : server.getQueue()) {
|
||||
if(!getSingleServer(queuePlayer.getPlayer()).equals(server)) continue;
|
||||
|
||||
int pos = queuePlayer.getPosition();
|
||||
if(pos == 0) {
|
||||
@@ -243,6 +247,8 @@ public class QueueManagerImpl implements QueueManager {
|
||||
AdaptedPlayer player = queuePlayer.getPlayer();
|
||||
if(player == null) continue;
|
||||
|
||||
if(!getSingleServer(player).equals(server)) continue;
|
||||
|
||||
if(!server.isJoinable(player)) {
|
||||
queuePlayer.getPlayer().sendActionBar(msgs.getComponent("spigot.actionbar.offline",
|
||||
"POS:"+pos,
|
||||
|
||||
@@ -9,6 +9,7 @@ import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class TaskManager {
|
||||
|
||||
|
||||
final ScheduledExecutorService executor = Executors.newScheduledThreadPool(1);
|
||||
final ScheduledExecutorService updateExecutor = Executors.newScheduledThreadPool(1);
|
||||
|
||||
@@ -17,6 +18,11 @@ public class TaskManager {
|
||||
this.main = main;
|
||||
}
|
||||
|
||||
public void shutdown() {
|
||||
executor.shutdown();
|
||||
updateExecutor.shutdown();
|
||||
}
|
||||
|
||||
public String taskStatus() {
|
||||
List<ScheduledFuture<?>> tasks = Arrays.asList(sendTask, updateTask, messageTask, actionBarTask, queueEventTask, reloadServerTask);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
@@ -47,7 +47,7 @@ public class QueuePlayerImpl implements QueuePlayer {
|
||||
@Nullable
|
||||
@Override
|
||||
public AdaptedPlayer getPlayer() {
|
||||
if(!player.isConnected()) return null;
|
||||
if(player != null && !player.isConnected()) player = null;
|
||||
return player;
|
||||
}
|
||||
|
||||
@@ -73,4 +73,20 @@ public class QueuePlayerImpl implements QueuePlayer {
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public long getTimeSinceOnline() {
|
||||
if(player != null && player.isConnected()) {
|
||||
return 0;
|
||||
}
|
||||
return System.currentTimeMillis()-leaveTime;
|
||||
}
|
||||
|
||||
|
||||
private long leaveTime = 0;
|
||||
public void setLeaveTime(long leaveTime) {
|
||||
this.leaveTime = leaveTime;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -304,18 +304,13 @@ public class QueueServerImpl implements QueueServer {
|
||||
}
|
||||
|
||||
@Override
|
||||
public synchronized QueuePlayer findPlayer(AdaptedPlayer player) {
|
||||
public QueuePlayer findPlayer(AdaptedPlayer player) {
|
||||
return findPlayer(player.getUniqueId());
|
||||
}
|
||||
@Override
|
||||
public synchronized QueuePlayer findPlayer(UUID uuid) {
|
||||
for(QueuePlayer queuePlayer : queue) {
|
||||
AdaptedPlayer queuedPlayer = queuePlayer.getPlayer();
|
||||
if(queuedPlayer == null) continue;
|
||||
if(
|
||||
queuedPlayer
|
||||
.getUniqueId()
|
||||
.equals(
|
||||
player
|
||||
.getUniqueId()
|
||||
)
|
||||
) {
|
||||
if(queuePlayer.getUniqueId().toString().equals(uuid.toString())) {
|
||||
return queuePlayer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,4 +15,9 @@ public class FreeLogic implements Logic {
|
||||
public QueuePlayer priorityLogic(QueueServer server, AdaptedPlayer player) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean playerDisconnectedTooLong(QueuePlayer player) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user