From f2d6d8525aa74329c6491f57afad6570aec25791 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Mon, 13 Jul 2020 22:08:26 +0800 Subject: Performance Improvements Signed-off-by: shedaniel --- src/main/java/me/shedaniel/rei/utils/CollectionUtils.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/main/java/me/shedaniel/rei/utils/CollectionUtils.java') diff --git a/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java b/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java index 333bdda2e..bf2e75949 100644 --- a/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java +++ b/src/main/java/me/shedaniel/rei/utils/CollectionUtils.java @@ -26,6 +26,8 @@ package me.shedaniel.rei.utils; import com.google.common.collect.Lists; import com.google.common.collect.Sets; import me.shedaniel.rei.api.EntryStack; +import net.fabricmc.api.EnvType; +import net.fabricmc.api.Environment; import java.util.*; import java.util.function.Function; @@ -73,6 +75,7 @@ public class CollectionUtils { return false; } + @Environment(EnvType.CLIENT) public static boolean anyMatchEqualsAll(List list, EntryStack stack) { for (EntryStack t : list) { if (t.equalsAll(stack)) @@ -81,6 +84,7 @@ public class CollectionUtils { return false; } + @Environment(EnvType.CLIENT) public static boolean anyMatchEqualsEntryIgnoreAmount(List list, EntryStack stack) { for (EntryStack t : list) { if (t.equalsIgnoreAmount(stack)) @@ -89,6 +93,7 @@ public class CollectionUtils { return false; } + @Environment(EnvType.CLIENT) public static EntryStack firstOrNullEqualsAll(List list, EntryStack stack) { for (EntryStack t : list) { if (t.equalsAll(stack)) @@ -97,6 +102,7 @@ public class CollectionUtils { return null; } + @Environment(EnvType.CLIENT) public static EntryStack findFirstOrNullEqualsEntryIgnoreAmount(Collection list, EntryStack stack) { for (EntryStack t : list) { if (t.equalsIgnoreAmount(stack)) @@ -143,6 +149,14 @@ public class CollectionUtils { return l; } + public static List map(Collection list, Function function) { + List l = Lists.newArrayList(); + for (T t : list) { + l.add(function.apply(t)); + } + return l; + } + public static List map(T[] list, Function function) { List l = Lists.newArrayList(); for (T t : list) { -- cgit