Skip to content

Commit 02df5bc

Browse files
refactor: modernize plugin code
1 parent 6b7bcfc commit 02df5bc

30 files changed

+136
-220
lines changed

shared/src/main/java/net/pistonmaster/pistonqueue/shared/command/MainCommandShared.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ default void onCommand(CommandSourceWrapper sender, String[] args, PistonQueuePl
5757
sendLine(sender);
5858
sender.sendMessage(component().text("Queue stats").color(TextColorWrapper.GOLD));
5959
for (QueueGroup group : config.getQueueGroups()) {
60-
sender.sendMessage(component().text(group.getName()).color(TextColorWrapper.GOLD));
61-
for (QueueType type : group.getQueueTypes()) {
60+
sender.sendMessage(component().text(group.name()).color(TextColorWrapper.GOLD));
61+
for (QueueType type : group.queueTypes()) {
6262
sender.sendMessage(component().text(" - " + type.getName() + ": ").color(TextColorWrapper.GOLD)
6363
.append(component().text(String.valueOf(queueSize(type))).color(TextColorWrapper.GOLD).decorate(TextDecorationWrapper.BOLD)));
6464
}
@@ -74,8 +74,8 @@ default void onCommand(CommandSourceWrapper sender, String[] args, PistonQueuePl
7474
sendLine(sender);
7575
sender.sendMessage(component().text("Target slot stats").color(TextColorWrapper.GOLD));
7676
for (QueueGroup group : config.getQueueGroups()) {
77-
sender.sendMessage(component().text(group.getName()).color(TextColorWrapper.GOLD));
78-
for (QueueType type : group.getQueueTypes()) {
77+
sender.sendMessage(component().text(group.name()).color(TextColorWrapper.GOLD));
78+
for (QueueType type : group.queueTypes()) {
7979
sender.sendMessage(component().text(" - " + type.getName() + ": ").color(TextColorWrapper.GOLD)
8080
.append(component().text(type.getPlayersWithTypeInTarget().get() + " / " + type.getReservedSlots()).color(TextColorWrapper.GOLD).decorate(TextDecorationWrapper.BOLD)));
8181
}

shared/src/main/java/net/pistonmaster/pistonqueue/shared/config/Config.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -740,11 +740,11 @@ private void rebuildQueueGroups() {
740740

741741
private void registerGroup(QueueGroup group) {
742742
queueGroupList.add(group);
743-
queueGroupsByName.put(group.getName().toLowerCase(Locale.ROOT), group);
744-
for (String target : group.getTargetServers()) {
743+
queueGroupsByName.put(group.name().toLowerCase(Locale.ROOT), group);
744+
for (String target : group.targetServers()) {
745745
queueGroupsByTarget.put(target.toLowerCase(Locale.ROOT), group);
746746
}
747-
for (QueueType type : group.getQueueTypes()) {
747+
for (QueueType type : group.queueTypes()) {
748748
queueGroupByType.put(type, group);
749749
}
750750
}

shared/src/main/java/net/pistonmaster/pistonqueue/shared/config/ConfigMigrator.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@
2929
import java.util.regex.Matcher;
3030
import java.util.regex.Pattern;
3131

32-
/**
33-
* Performs migrations of legacy configuration files to the new format.
34-
*/
32+
/// Performs migrations of legacy configuration files to the new format.
3533
public final class ConfigMigrator {
3634
private static final Pattern CONFIG_VERSION_PATTERN = Pattern.compile("configVersion:\\s*(\\d+)");
3735
private static final Pattern QUEUE_SERVER_PATTERN = Pattern.compile("(\\s+)queueServer:\\s*\"?([^\"\\n]+)\"?");
@@ -102,7 +100,7 @@ private static String migrateV2ToV3(String content) {
102100
// Migrate queueServer to queueServers in queue groups
103101
// This regex finds queueServer entries within queueGroups section and converts them to queueServers list
104102
Matcher matcher = QUEUE_SERVER_PATTERN.matcher(result);
105-
StringBuffer sb = new StringBuffer();
103+
StringBuilder sb = new StringBuilder();
106104
while (matcher.find()) {
107105
String indent = matcher.group(1);
108106
String serverName = matcher.group(2).trim();

shared/src/main/java/net/pistonmaster/pistonqueue/shared/events/PQServerConnectedEvent.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323

2424
import java.util.Optional;
2525

26-
/**
27-
* Event for when a player has successfully moved to another server on the proxy.
28-
*/
26+
/// Event for when a player has successfully moved to another server on the proxy.
2927
public interface PQServerConnectedEvent {
3028
PlayerWrapper getPlayer();
3129

shared/src/main/java/net/pistonmaster/pistonqueue/shared/events/PQServerPreConnectEvent.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,7 @@
2323

2424
import java.util.Optional;
2525

26-
/**
27-
* Event for trying to connect to a server that allows us to intercept the connection and redirect the player.
28-
*/
26+
/// Event for trying to connect to a server that allows us to intercept the connection and redirect the player.
2927
public interface PQServerPreConnectEvent {
3028
PlayerWrapper getPlayer();
3129

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ default void scheduleTasks(QueueListenerShared queueListener) {
8585
final QueueGroup defaultGroup = resolvedDefaultGroup;
8686
// Sends the position message and updates tab on an interval in chat
8787
schedule(() -> {
88-
boolean targetsOnline = defaultGroup.getTargetServers().stream().anyMatch(queueListener.getOnlineServers()::contains);
88+
boolean targetsOnline = defaultGroup.targetServers().stream().anyMatch(queueListener.getOnlineServers()::contains);
8989
if (targetsOnline) {
9090
for (QueueType type : config.getAllQueueTypes()) {
9191
if (config.positionMessageChat()) {
@@ -233,11 +233,11 @@ default void initializeReservationSlots() {
233233
Config config = getConfiguration();
234234
for (QueueGroup group : config.getQueueGroups()) {
235235
Map<QueueType, AtomicInteger> map = new HashMap<>();
236-
for (QueueType type : group.getQueueTypes()) {
236+
for (QueueType type : group.queueTypes()) {
237237
map.put(type, new AtomicInteger());
238238
}
239239

240-
for (String targetServerName : group.getTargetServers()) {
240+
for (String targetServerName : group.targetServers()) {
241241
getServer(targetServerName).ifPresent(targetServer -> {
242242
for (PlayerWrapper player : targetServer.getConnectedPlayers()) {
243243
QueueType playerType = config.getQueueType(player);

shared/src/main/java/net/pistonmaster/pistonqueue/shared/queue/BanType.java

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,22 +19,14 @@
1919
*/
2020
package net.pistonmaster.pistonqueue.shared.queue;
2121

22-
/**
23-
* How shadow-banned people should be punished.
24-
*/
22+
/// How shadow-banned people should be punished.
2523
public enum BanType {
26-
/**
27-
* Loop forever in queue!
28-
*/
24+
/// Loop forever in queue!
2925
LOOP,
3026

31-
/**
32-
* Have a custom chance of getting into the server!
33-
*/
27+
/// Have a custom chance of getting into the server!
3428
PERCENT,
3529

36-
/**
37-
* Kick a player while joining!
38-
*/
30+
/// Kick a player while joining!
3931
KICK
4032
}

shared/src/main/java/net/pistonmaster/pistonqueue/shared/queue/LoadBalancingStrategy.java

Lines changed: 5 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,23 +19,15 @@
1919
*/
2020
package net.pistonmaster.pistonqueue.shared.queue;
2121

22-
/**
23-
* Strategy for selecting which queue server to send players to when multiple
24-
* queue servers are configured for a queue group.
25-
*/
22+
/// Strategy for selecting which queue server to send players to when multiple
23+
/// queue servers are configured for a queue group.
2624
public enum LoadBalancingStrategy {
27-
/**
28-
* Alternates between queue servers in order.
29-
*/
25+
/// Alternates between queue servers in order.
3026
ROUND_ROBIN,
3127

32-
/**
33-
* Sends players to the queue server with the fewest connected players.
34-
*/
28+
/// Sends players to the queue server with the fewest connected players.
3529
LEAST_PLAYERS,
3630

37-
/**
38-
* Randomly selects a queue server.
39-
*/
31+
/// Randomly selects a queue server.
4032
RANDOM
4133
}

shared/src/main/java/net/pistonmaster/pistonqueue/shared/queue/QueueGroup.java

Lines changed: 15 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -24,40 +24,27 @@
2424
import java.util.List;
2525
import java.util.Locale;
2626

27-
public final class QueueGroup {
28-
private final String name;
29-
private final List<String> queueServers;
30-
private final List<String> targetServers;
31-
private final List<String> sourceServers;
32-
private final QueueType[] queueTypes;
33-
27+
public record QueueGroup(String name, List<String> queueServers, List<String> targetServers, List<String> sourceServers, QueueType[] queueTypes) {
3428
public QueueGroup(String name, List<String> queueServers, List<String> targetServers, List<String> sourceServers, QueueType[] queueTypes) {
3529
this.name = name;
36-
this.queueServers = Collections.unmodifiableList(new ArrayList<>(queueServers));
37-
this.targetServers = Collections.unmodifiableList(new ArrayList<>(targetServers));
38-
this.sourceServers = Collections.unmodifiableList(new ArrayList<>(sourceServers));
30+
this.queueServers = List.copyOf(queueServers);
31+
this.targetServers = List.copyOf(targetServers);
32+
this.sourceServers = List.copyOf(sourceServers);
3933
this.queueTypes = queueTypes == null ? new QueueType[0] : queueTypes.clone();
4034
}
4135

42-
public String getName() {
43-
return name;
44-
}
45-
46-
/**
47-
* Returns all queue servers configured for this group.
48-
*
49-
* @return an unmodifiable list of queue server names
50-
*/
51-
public List<String> getQueueServers() {
36+
/// Returns all queue servers configured for this group.
37+
///
38+
/// @return an unmodifiable list of queue server names
39+
@Override
40+
public List<String> queueServers() {
5241
return queueServers;
5342
}
5443

55-
/**
56-
* Checks if the given server name is one of this group's queue servers.
57-
*
58-
* @param server the server name to check (case-insensitive)
59-
* @return true if the server is a queue server for this group
60-
*/
44+
/// Checks if the given server name is one of this group's queue servers.
45+
///
46+
/// @param server the server name to check (case-insensitive)
47+
/// @return true if the server is a queue server for this group
6148
public boolean hasQueueServer(String server) {
6249
if (server == null) {
6350
return false;
@@ -67,15 +54,8 @@ public boolean hasQueueServer(String server) {
6754
.anyMatch(qs -> qs.toLowerCase(Locale.ROOT).equals(lowerServer));
6855
}
6956

70-
public List<String> getTargetServers() {
71-
return targetServers;
72-
}
73-
74-
public List<String> getSourceServers() {
75-
return sourceServers;
76-
}
77-
78-
public QueueType[] getQueueTypes() {
57+
@Override
58+
public QueueType[] queueTypes() {
7959
return queueTypes.clone();
8060
}
8161
}

shared/src/main/java/net/pistonmaster/pistonqueue/shared/queue/logic/KickEventHandler.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@
2929
import java.util.Objects;
3030
import java.util.concurrent.locks.Lock;
3131

32-
/**
33-
* Handles kick events and potentially redirects players to the queue.
34-
*/
32+
/// Handles kick events and potentially redirects players to the queue.
3533
public final class KickEventHandler {
3634
private final Config config;
3735
private final QueueEnvironment queueEnvironment;
@@ -43,20 +41,18 @@ public KickEventHandler(Config config, QueueEnvironment queueEnvironment, QueueS
4341
this.queueServerSelector = Objects.requireNonNull(queueServerSelector, "queueServerSelector");
4442
}
4543

46-
/**
47-
* Handles a kick event, potentially redirecting the player to the queue if they were kicked
48-
* from a protected target server due to it being down.
49-
*
50-
* @param event the kick event
51-
*/
44+
/// Handles a kick event, potentially redirecting the player to the queue if they were kicked
45+
/// from a protected target server due to it being down.
46+
///
47+
/// @param event the kick event
5248
public void handleKick(PQKickedFromServerEvent event) {
5349
handleQueueRedirection(event);
5450
handleKickMessage(event);
5551
}
5652

5753
private void handleQueueRedirection(PQKickedFromServerEvent event) {
5854
QueueGroup group = queueEnvironment.resolveGroupForTarget(event.getKickedFrom());
59-
boolean kickedFromProtectedTarget = group.getTargetServers().contains(event.getKickedFrom());
55+
boolean kickedFromProtectedTarget = group.targetServers().contains(event.getKickedFrom());
6056

6157
if (config.ifTargetDownSendToQueue() && kickedFromProtectedTarget) {
6258
String kickReason = event.getKickReason()

0 commit comments

Comments
 (0)