Skip to content

Commit 1ed90c6

Browse files
Use Stream directly
Removes the intermediate Comparator, StringBuilder and packets list
1 parent d514783 commit 1ed90c6

File tree

1 file changed

+14
-21
lines changed

1 file changed

+14
-21
lines changed

src/main/java/meteordevelopment/meteorclient/utils/network/PacketUtilsUtil.java

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import java.nio.charset.StandardCharsets;
1818
import java.nio.file.*;
1919
import java.util.Comparator;
20-
import java.util.List;
2120
import java.util.function.Predicate;
21+
import java.util.stream.Collectors;
2222

2323
public final class PacketUtilsUtil {
2424
private PacketUtilsUtil() {
@@ -114,34 +114,27 @@ public static Set<Class<? extends Packet<?>>> getC2SPackets() {
114114
}
115115

116116
private static String processPackets(String packageName, String packetMapName, String reverseMapName, Predicate<Class<?>> exclusionFilter) {
117-
Comparator<Class<?>> packetsComparator = Comparator
118-
.comparing((Class<?> cls) -> cls.getName().substring(cls.getName().lastIndexOf('.') + 1))
119-
.thenComparing(Class::getName);
120-
121-
StringBuilder mappings = new StringBuilder(8192);
122-
123117
try (ScanResult scanResult = new ClassGraph()
124118
.acceptPackages(packageName)
125119
.enableClassInfo()
126120
.ignoreClassVisibility()
127121
.scan()) {
128122

129-
var packets = scanResult.getClassesImplementing(Packet.class).stream()
123+
return scanResult.getClassesImplementing(Packet.class).stream()
130124
.map(ClassInfo::loadClass)
131125
.filter(exclusionFilter.negate())
132-
.sorted(packetsComparator)
133-
.toList();
134-
135-
for (Class<?> packet : packets) {
136-
String name = packet.getName();
137-
String className = name.substring(name.lastIndexOf('.') + 1).replace('$', '.');
138-
String fullName = name.replace('$', '.');
139-
140-
mappings.append("%s.put(%s.class, \"%s\");%n".formatted(packetMapName, fullName, className));
141-
mappings.append("%s.put(\"%s\", %s.class);%n".formatted(reverseMapName, className, fullName));
142-
}
126+
.sorted(Comparator
127+
.comparing((Class<?> cls) -> cls.getName().substring(cls.getName().lastIndexOf('.') + 1))
128+
.thenComparing(Class::getName)
129+
)
130+
.map(packet -> {
131+
String name = packet.getName();
132+
String className = name.substring(name.lastIndexOf('.') + 1).replace('$', '.');
133+
String fullName = name.replace('$', '.');
134+
return "%s.put(%s.class, \"%s\");%n%s.put(\"%s\", %s.class);"
135+
.formatted(packetMapName, fullName, className, reverseMapName, className, fullName);
136+
})
137+
.collect(Collectors.joining("\n"));
143138
}
144-
145-
return mappings.toString();
146139
}
147140
}

0 commit comments

Comments
 (0)