Skip to content

Commit 55e6ae5

Browse files
committed
fix: Backport some Java 16 API to Java 8
1 parent 4343d72 commit 55e6ae5

File tree

4 files changed

+54
-17
lines changed

4 files changed

+54
-17
lines changed

cobblegen/src/main/java/io/github/null2264/cobblegen/data/CGModifier.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
import java.util.List;
66
import java.util.Objects;
77

8-
import static io.github.null2264.cobblegen.compat.CollectionCompat.streamToList;
9-
108
/**
119
* Class to holds modifier as Map key
1210
*/
@@ -15,7 +13,7 @@ public class CGModifier {
1513

1614
public CGModifier(List<CGIdentifier> modifiers) {
1715
if (modifiers.size() >= 4) throw new IllegalArgumentException("Cannot have more than 4 modifiers");
18-
this.modifiers = streamToList(modifiers.stream().sorted());
16+
this.modifiers = modifiers.stream().sorted().toList();
1917
}
2018

2119
public void writeToBuf(FriendlyByteBuf buf) {
@@ -38,4 +36,4 @@ public boolean equals(Object o) {
3836
public int hashCode() {
3937
return Objects.hash(modifiers);
4038
}
41-
}
39+
}

cobblegen/src/main/java/io/github/null2264/cobblegen/util/PluginFinder.java

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
import java.util.*;
77

8-
import static io.github.null2264.cobblegen.compat.CollectionCompat.streamToList;
9-
108
#if FABRIC
119
import net.fabricmc.loader.api.FabricLoader;
1210
#else
@@ -28,12 +26,11 @@ public class PluginFinder
2826
{
2927
public static List<PlugInContainer> getModPlugins() {
3028
#if FABRIC
31-
return streamToList(
32-
FabricLoader.getInstance()
33-
.getEntrypointContainers("cobblegen_plugin", CobbleGenPlugin.class)
34-
.stream()
35-
.map(entrypoint -> new PlugInContainer(entrypoint.getProvider().getMetadata().getId(), entrypoint.getEntrypoint()))
36-
);
29+
return FabricLoader.getInstance()
30+
.getEntrypointContainers("cobblegen_plugin", CobbleGenPlugin.class)
31+
.stream()
32+
.map(entrypoint -> new PlugInContainer(entrypoint.getProvider().getMetadata().getId(), entrypoint.getEntrypoint()))
33+
.toList();
3734
#else
3835
return AnnotatedFinder.getInstances(CGPlugin.class, CobbleGenPlugin.class);
3936
#endif
@@ -46,11 +43,10 @@ public static <T> List<PlugInContainer> getInstances(Class<?> annotationClass, C
4643
List<ModFileScanData> allScanData = ModList.get().getAllScanData();
4744
List<PlugInContainer> instances = new ArrayList<>();
4845
for (ModFileScanData data : allScanData) {
49-
List<String> modIds = streamToList(
50-
data.getIModInfoData().stream()
51-
.flatMap(info -> info.getMods().stream())
52-
.map(IModInfo::getModId)
53-
);
46+
List<String> modIds = data.getIModInfoData().stream()
47+
.flatMap(info -> info.getMods().stream())
48+
.map(IModInfo::getModId)
49+
.toList();
5450
String modId = "[" + String.join(", ", modIds) + "]";
5551

5652
Iterable<ModFileScanData.AnnotationData> annotations = data.getAnnotations();
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package io.github.null2264.cobblegen.extensions.java.util.List;
2+
3+
import manifold.ext.rt.api.Extension;
4+
5+
#if MC<11700
6+
import java.util.ArrayList;
7+
import java.util.Arrays;
8+
import java.util.List;
9+
#endif
10+
11+
@Extension
12+
public final class ListExt {
13+
#if MC<11700
14+
@SafeVarargs
15+
@Extension
16+
public static <T> List<T> of(T... items) {
17+
return new ArrayList<>(Arrays.asList(items));
18+
}
19+
#endif
20+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package io.github.null2264.cobblegen.extensions.java.util.stream.Stream;
2+
3+
import manifold.ext.rt.api.Extension;
4+
5+
#if MC<11700
6+
import manifold.ext.rt.api.This;
7+
import java.util.ArrayList;
8+
import java.util.Arrays;
9+
import java.util.Collections;
10+
import java.util.List;
11+
import java.util.stream.Stream;
12+
#endif
13+
14+
@Extension
15+
public final class StreamExt {
16+
17+
#if MC<11700
18+
@SuppressWarnings("unchecked")
19+
public static <T> List<T> toList(@This Stream<T> stream) {
20+
return (List<T>) Collections.unmodifiableList(new ArrayList<>(Arrays.asList(stream.toArray())));
21+
}
22+
#endif
23+
}

0 commit comments

Comments
 (0)