Skip to content

Commit 7d05740

Browse files
committed
feat: add modList to deviceinfo HTTP response
- Add modList field to SystemInfo as String[] - Add ModInfoHelper.getModListArray() returning String[] - Add modList array serialization in JsonFormatter - Include full mod list in deviceinfo JSON response
1 parent 62155ac commit 7d05740

4 files changed

Lines changed: 16 additions & 5 deletions

File tree

src/main/java/org/damon233/performtrackermod/collector/system/SystemInfoCollector.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ private static SystemInfo computeSystemInfo() {
6969
minecraftVersion,
7070
modVersion,
7171
deviceModel,
72-
getJvmArgs()
72+
getJvmArgs(),
73+
ModInfoHelper.getModListArray()
7374
);
7475
}
7576

src/main/java/org/damon233/performtrackermod/data/SystemInfo.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public record SystemInfo(
3131
String minecraftVersion,
3232
String modVersion,
3333
String deviceModel,
34-
String[] jvmArgs
34+
String[] jvmArgs,
35+
String[] modList
3536
) {
3637
public static String formatBytes(long bytes) {
3738
if (bytes >= 1073741824) {

src/main/java/org/damon233/performtrackermod/network/JsonFormatter.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,16 @@ public static String formatDeviceInfo(SystemInfo info, boolean chipRulesTrusted)
9696
sb.append('"').append(escapeJson(jvmArgs[i])).append('"');
9797
}
9898
}
99+
sb.append("],\"modList\":[");
100+
String[] modList = info.modList();
101+
if (modList != null) {
102+
for (int i = 0; i < modList.length; i++) {
103+
if (i > 0) {
104+
sb.append(',');
105+
}
106+
sb.append('"').append(escapeJson(modList[i])).append('"');
107+
}
108+
}
99109
sb.append("],\"chipRulesTrusted\":").append(chipRulesTrusted).append('}');
100110
return sb.toString();
101111
}

src/main/java/org/damon233/performtrackermod/utils/ModInfoHelper.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import net.fabricmc.loader.api.ModContainer;
2121

2222
import java.util.List;
23-
import java.util.stream.Collectors;
2423

2524
public class ModInfoHelper {
2625
public static String getModVersion(String modId) {
@@ -33,9 +32,9 @@ public static List<ModContainer> getAllMods() {
3332
return List.copyOf(FabricLoader.getInstance().getAllMods());
3433
}
3534

36-
public static String getModList() {
35+
public static String[] getModListArray() {
3736
return getAllMods().stream()
3837
.map(mod -> mod.getMetadata().getId() + " " + mod.getMetadata().getVersion().getFriendlyString())
39-
.collect(Collectors.joining(", "));
38+
.toArray(String[]::new);
4039
}
4140
}

0 commit comments

Comments
 (0)