Skip to content

Commit 409ce61

Browse files
committed
Introduce a RootRadarCommand and move ListSubcommand and PlayerSubcommand to common project
1 parent 30025a7 commit 409ce61

File tree

12 files changed

+106
-479
lines changed

12 files changed

+106
-479
lines changed
Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,12 @@
2020
import io.github.communityradargg.forgemod.util.CommonHandler;
2121
import io.github.communityradargg.forgemod.util.Messages;
2222
import io.github.communityradargg.forgemod.util.RadarMessage;
23-
import io.github.communityradargg.forgemod.util.Utils;
23+
import org.jetbrains.annotations.NotNull;
2424
import java.util.Collections;
2525
import java.util.Locale;
2626
import java.util.Optional;
2727
import java.util.Set;
2828
import java.util.UUID;
29-
import org.jetbrains.annotations.NotNull;
3029

3130
/**
3231
* Holds the logic of the list subcommand.
@@ -131,7 +130,7 @@ private void handleListDeleteSubcommand(final @NotNull String[] args) {
131130
return;
132131
}
133132

134-
oldUuids.forEach(uuid -> Utils.updatePlayerByUuid(commonHandler, uuid, oldPrefixes));
133+
oldUuids.forEach(uuid -> commonHandler.updatePlayerByUuid(uuid, oldPrefixes));
135134
commonHandler.addMessageToChat(new RadarMessage.RadarMessageBuilder(Messages.List.DELETE_SUCCESS)
136135
.build().getMessage());
137136
}
@@ -200,7 +199,7 @@ private void handleListPrefixSubcommand(final @NotNull String[] args) {
200199
final Set<String> oldPrefixes = listManager.getExistingPrefixes();
201200
list.setPrefix(args[3]);
202201
list.saveList();
203-
list.getPlayerMap().keySet().forEach(uuid -> Utils.updatePlayerByUuid(commonHandler, uuid, oldPrefixes));
202+
list.getPlayerMap().keySet().forEach(uuid -> commonHandler.updatePlayerByUuid(uuid, oldPrefixes));
204203

205204
commonHandler.addMessageToChat(new RadarMessage.RadarMessageBuilder(Messages.List.PREFIX_SUCCESS)
206205
.replaceWithColorCodes("{prefix}", args[3])
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import io.github.communityradargg.forgemod.util.CommonHandler;
2121
import io.github.communityradargg.forgemod.util.Messages;
2222
import io.github.communityradargg.forgemod.util.RadarMessage;
23-
import io.github.communityradargg.forgemod.util.Utils;
2423
import org.jetbrains.annotations.NotNull;
2524
import java.util.Locale;
2625
import java.util.Optional;
@@ -120,7 +119,7 @@ private void handlePlayerAddSubcommand(final @NotNull String[] args) {
120119

121120
commonHandler.addMessageToChat(new RadarMessage.RadarMessageBuilder(Messages.Player.ADD_SUCCESS)
122121
.build().getMessage());
123-
Utils.updatePlayerByUuid(commonHandler, uuid, listManager.getExistingPrefixes());
122+
commonHandler.updatePlayerByUuid(uuid, listManager.getExistingPrefixes());
124123
});
125124
}
126125

@@ -166,7 +165,7 @@ private void handlePlayerRemoveSubcommand(final @NotNull String[] args) {
166165
}
167166

168167
list.getPlayerMap().remove(uuid);
169-
Utils.updatePlayerByUuid(commonHandler, uuid, listManager.getExistingPrefixes());
168+
commonHandler.updatePlayerByUuid(uuid, listManager.getExistingPrefixes());
170169
commonHandler.addMessageToChat(new RadarMessage.RadarMessageBuilder(Messages.Player.REMOVE_SUCCESS)
171170
.build().getMessage());
172171
});
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package io.github.communityradargg.forgemod.command;
2+
3+
import io.github.communityradargg.forgemod.util.CommonHandler;
4+
import org.jetbrains.annotations.NotNull;
5+
import java.util.Arrays;
6+
import java.util.List;
7+
import java.util.Locale;
8+
9+
/**
10+
* The root radar command.
11+
*/
12+
public class RootRadarCommand {
13+
public static final String COMMAND_NAME = "radar";
14+
public static final List<String> COMMAND_ALIASES = Arrays.asList("communityradar", "scammer", "trustedmm", "mm");
15+
private final CommonHandler commonHandler;
16+
17+
/**
18+
* Constructs as {@link RootRadarCommand}.
19+
*
20+
* @param commonHandler The common handler.
21+
*/
22+
public RootRadarCommand(final @NotNull CommonHandler commonHandler) {
23+
this.commonHandler = commonHandler;
24+
}
25+
26+
/**
27+
* Executes the root command with the given arguments.
28+
*
29+
* @param args The arguments.
30+
*/
31+
public void execute(final String[] args) {
32+
Subcommand subcommand = null;
33+
if (args.length == 0) {
34+
subcommand = new HelpSubcommand(commonHandler);
35+
}
36+
37+
if (subcommand == null) {
38+
switch (args[0].toUpperCase(Locale.ENGLISH)) {
39+
case "CHECK":
40+
subcommand = new CheckSubcommand(commonHandler, args);
41+
break;
42+
case "LIST":
43+
subcommand = new ListSubcommand(commonHandler, args);
44+
break;
45+
case "PLAYER":
46+
subcommand = new PlayerSubcommand(commonHandler, args);
47+
break;
48+
case "LISTS":
49+
subcommand = new ListsSubcommand(commonHandler);
50+
break;
51+
default:
52+
subcommand = new HelpSubcommand(commonHandler);
53+
break;
54+
}
55+
}
56+
57+
subcommand.run();
58+
}
59+
}

common/src/main/java/io/github/communityradargg/forgemod/util/CommonHandler.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import java.util.Locale;
2121
import java.util.Map;
2222
import java.util.Optional;
23+
import java.util.Set;
2324
import java.util.UUID;
2425
import java.util.concurrent.CompletableFuture;
2526
import java.util.regex.Pattern;
@@ -239,6 +240,16 @@ public void addMessageToChat(final @NotNull String message) {
239240
return versionBridge.getWorldPlayers();
240241
}
241242

243+
/**
244+
* Updates a player display name and name tag by its uuid.
245+
*
246+
* @param uuid The uuid to update the corresponding player.
247+
* @param oldPrefixes The old prefixes.
248+
*/
249+
public void updatePlayerByUuid(final @NotNull UUID uuid, final @NotNull Set<String> oldPrefixes) {
250+
versionBridge.updatePlayerByUuid(this, uuid, oldPrefixes);
251+
}
252+
242253
/**
243254
* Gets the list manager.
244255
*

common/src/main/java/io/github/communityradargg/forgemod/util/Messages.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,7 @@
2121
public class Messages {
2222
public static final String PREFIX = "§8[§cCommunityRadar§8]§r ";
2323
public static final String MISSING_ARGS = "§cNicht genug Argumente. Gib '/radar' für den korrekten Syntax ein.";
24-
public static final String NOT_PLAYER = "§cDieser Befehl kann nur von Spielern ausgeführt werden.";
2524
public static final String INPUT_PROCESSING = "§7Deine Eingabe wird verarbeitet. Dies kann einige Augenblicke benötigen.";
26-
2725
public static final String HELP =
2826
"§7§l--------- §eRadar-Hilfe §7§l---------§r\n" +
2927
"§e/radar lists §7-> Zeigt die vorhandenen Listen an.\n" +

common/src/main/java/io/github/communityradargg/forgemod/util/VersionBridge.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
import org.jetbrains.annotations.NotNull;
44
import java.util.List;
5+
import java.util.Set;
6+
import java.util.UUID;
57

68
public interface VersionBridge {
79
@NotNull String getVersion();
@@ -11,4 +13,6 @@ public interface VersionBridge {
1113
boolean isNotInWorld();
1214

1315
@NotNull List<@NotNull PlayerInfo> getWorldPlayers();
16+
17+
void updatePlayerByUuid(final @NotNull CommonHandler commonHandler, final @NotNull UUID uuid, final @NotNull Set<@NotNull String> oldPrefixes);
1418
}

versions/1.12.2/src/main/java/io/github/communityradargg/forgemod/command/PlayerSubcommand.java

Lines changed: 0 additions & 176 deletions
This file was deleted.

0 commit comments

Comments
 (0)