Skip to content

Commit a85388f

Browse files
Fix position display issues
1 parent f429776 commit a85388f

File tree

1 file changed

+12
-23
lines changed

1 file changed

+12
-23
lines changed

src/main/java/net/pistonmaster/pistonqueue/shared/PistonQueuePlugin.java

Lines changed: 12 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -164,39 +164,28 @@ default void scheduleTasks(QueueListenerShared queueListener) {
164164

165165
default void sendMessage(QueueType queue, boolean bool, MessageType type) {
166166
if (bool) {
167-
int position = 0;
167+
AtomicInteger position = new AtomicInteger();
168168

169169
for (Map.Entry<UUID, String> entry : new LinkedHashMap<>(queue.getQueueMap()).entrySet()) {
170-
Optional<PlayerWrapper> player = getPlayer(entry.getKey());
171-
if (!player.isPresent()) {
172-
continue;
173-
}
174-
175-
position++;
176-
177-
player.get().sendMessage(type, Config.QUEUE_POSITION
178-
.replace("%position%", String.valueOf(position))
179-
.replace("%total%", String.valueOf(queue.getQueueMap().size())));
170+
getPlayer(entry.getKey()).ifPresent(player ->
171+
player.sendMessage(type, Config.QUEUE_POSITION
172+
.replace("%position%", String.valueOf(position.incrementAndGet()))
173+
.replace("%total%", String.valueOf(queue.getQueueMap().size()))));
180174
}
181175
}
182176
}
183177

184178
default void updateTab(QueueType queue, List<String> header, List<String> footer) {
185-
int position = 0;
179+
AtomicInteger position = new AtomicInteger();
186180

187181
for (Map.Entry<UUID, String> entry : new LinkedHashMap<>(queue.getQueueMap()).entrySet()) {
188-
Optional<PlayerWrapper> player = getPlayer(entry.getKey());
189-
if (!player.isPresent()) {
190-
continue;
191-
}
182+
getPlayer(entry.getKey()).ifPresent(player -> {
183+
int incrementedPosition = position.incrementAndGet();
192184

193-
position++;
194-
195-
int finalPosition = position;
196-
header = header.stream().map(str -> replacePosition(str, finalPosition, queue)).collect(Collectors.toList());
197-
footer = footer.stream().map(str -> replacePosition(str, finalPosition, queue)).collect(Collectors.toList());
198-
199-
player.get().sendPlayerListHeaderAndFooter(header, footer);
185+
player.sendPlayerListHeaderAndFooter(
186+
header.stream().map(str -> replacePosition(str, incrementedPosition, queue)).collect(Collectors.toList()),
187+
footer.stream().map(str -> replacePosition(str, incrementedPosition, queue)).collect(Collectors.toList()));
188+
});
200189
}
201190
}
202191

0 commit comments

Comments
 (0)