Skip to content

Commit 5693635

Browse files
committed
Avoid adding just the main package
1 parent def012d commit 5693635

File tree

1 file changed

+9
-16
lines changed
  • src/main/java/io/github/syst3ms/skriptparser

1 file changed

+9
-16
lines changed

src/main/java/io/github/syst3ms/skriptparser/Parser.java

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.util.Calendar;
2626
import java.util.List;
2727
import java.util.jar.JarFile;
28+
import java.util.stream.Stream;
2829

2930
public class Parser {
3031

@@ -89,25 +90,17 @@ public static void init(String[] mainPackages, String[] subPackages, String[] pr
8990
registration = new SkriptRegistration(skript);
9091
DefaultRegistration.register();
9192

92-
// Ensure Skript loads first
93-
mainPackages = Arrays.copyOf(mainPackages, mainPackages.length + 1);
94-
mainPackages[mainPackages.length - 1] = "io.github.syst3ms.skriptparser";
95-
96-
// Combine main and sub-packages
97-
List<String> sub = new ArrayList<>();
98-
sub.addAll(Arrays.asList(subPackages));
99-
sub.addAll(Arrays.asList("expressions", "effects", "event", "lang", "sections", "tags"));
100-
subPackages = sub.toArray(new String[0]);
101-
List<String> allPackages = new ArrayList<>(List.of(mainPackages));
102-
for (String subPackage : subPackages) {
103-
for (String main : mainPackages) {
104-
allPackages.add(main + "." + subPackage);
105-
}
106-
}
93+
String[] allPackages = Stream.concat(
94+
Stream.of("expressions", "effects", "event", "lang", "sections", "structures", "tags")
95+
.map(subPackage -> "io.github.syst3ms.skriptparser." + subPackage),
96+
Stream.of(subPackages)
97+
.flatMap(subPackage -> Stream.of(mainPackages)
98+
.map(main -> main + "." + subPackage))
99+
).toArray(String[]::new);
107100

108101
try {
109102
// Load all classes in the specified packages
110-
new Reflections(allPackages.toArray(new String[0]), Scanners.SubTypes.filterResultsBy(s -> true))
103+
new Reflections(allPackages, Scanners.SubTypes.filterResultsBy(s -> true))
111104
.getSubTypesOf(Object.class)
112105
.forEach(clazz -> {
113106
try {

0 commit comments

Comments
 (0)