Skip to content

Commit

Permalink
Implement fully sync online check
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexProgrammerDE committed Sep 11, 2022
1 parent 5552a17 commit 014a523
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 28 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@
import net.md_5.bungee.api.plugin.Plugin;
import net.md_5.bungee.api.plugin.PluginManager;
import net.pistonmaster.pistonqueue.bungee.commands.MainCommand;
import net.pistonmaster.pistonqueue.bungee.listeners.RegexListener;
import net.pistonmaster.pistonqueue.bungee.listeners.QueueListenerBungee;
import net.pistonmaster.pistonqueue.bungee.listeners.RegexListener;
import net.pistonmaster.pistonqueue.bungee.utils.ChatUtils;
import net.pistonmaster.pistonqueue.hooks.PistonMOTDPlaceholder;
import net.pistonmaster.pistonqueue.shared.PistonQueuePlugin;
Expand All @@ -39,12 +39,11 @@
import org.bstats.bungeecord.Metrics;

import java.io.File;
import java.io.IOException;
import java.net.Socket;
import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;

Expand Down Expand Up @@ -159,19 +158,11 @@ public List<PlayerWrapper> getConnectedPlayers() {
return serverInfo.getPlayers().stream().map(reference::wrapPlayer).collect(Collectors.toList());
}

@SuppressWarnings("deprecation")
@Override
public boolean isOnline() {
try {
Socket s = new Socket(
serverInfo.getAddress().getAddress(),
serverInfo.getAddress().getPort());

s.close();
return true;
} catch (IOException e) {
return false;
}
CompletableFuture<Boolean> future = new CompletableFuture<>();
serverInfo.ping((result, error) -> future.complete(error == null && result != null));
return future.join();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -196,18 +196,16 @@ default String replacePosition(String text, int position, QueueType type) {

return SharedChatUtils.formatDuration(text, duration, position);
} else {
AtomicInteger biggestPositionAtomic = new AtomicInteger();
AtomicReference<Duration> bestDurationAtomic = new AtomicReference<>(Duration.ZERO);

type.getDurationToPosition().forEach((integer, instant) -> {
if (integer > biggestPositionAtomic.get()) {
biggestPositionAtomic.set(integer);
bestDurationAtomic.set(instant);
int biggestPosition = 0;
Duration biggestDuration = Duration.ZERO;

for (Map.Entry<Integer, Duration> entry : type.getDurationToPosition().entrySet()) {
int positionOfDuration = entry.getKey();
if (positionOfDuration > biggestPosition) {
biggestPosition = positionOfDuration;
biggestDuration = entry.getValue();
}
});

int biggestPosition = biggestPositionAtomic.get();
Duration biggestDuration = bestDurationAtomic.get();
}

int difference = position - biggestPosition;

Expand Down Expand Up @@ -235,9 +233,7 @@ default void initializeReservationSlots() {
}
}

for (Map.Entry<QueueType, AtomicInteger> entry : map.entrySet()) {
entry.getKey().getPlayersWithTypeInMain().set(entry.getValue().get());
}
map.forEach((type, count) -> type.getPlayersWithTypeInMain().set(count.get()));
}, 0, 1, TimeUnit.SECONDS);
}

Expand Down

0 comments on commit 014a523

Please sign in to comment.