mirror of
https://github.com/Samsuik/Sakura.git
synced 2025-12-21 15:59:26 +00:00
Add local storage and config api
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Samsuik <kfian294ma4@gmail.com>
|
||||
Date: Fri, 15 Oct 2021 18:49:48 +0100
|
||||
Subject: [PATCH] Optimise ClassInstanceMultiMap removals
|
||||
|
||||
|
||||
diff --git a/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java b/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java
|
||||
index 5fb7573022c5af775b2e737dcd05c53cd9ae39ec..a3e5bf8355bbe8d4b8ee687abdb49a04fb39ae75 100644
|
||||
--- a/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java
|
||||
+++ b/src/main/java/net/minecraft/util/ClassInstanceMultiMap.java
|
||||
@@ -15,7 +15,7 @@ import java.util.stream.Collectors;
|
||||
public class ClassInstanceMultiMap<T> extends AbstractCollection<T> {
|
||||
private final Map<Class<?>, List<T>> byClass = Maps.newHashMap();
|
||||
private final Class<T> baseClass;
|
||||
- private final List<T> allInstances = Lists.newArrayList();
|
||||
+ private final List<T> allInstances = new me.samsuik.sakura.utils.collections.UnorderedIndexedList<>(); // Sakura
|
||||
|
||||
public ClassInstanceMultiMap(Class<T> elementType) {
|
||||
this.baseClass = elementType;
|
||||
@@ -59,7 +59,15 @@ public class ClassInstanceMultiMap<T> extends AbstractCollection<T> {
|
||||
throw new IllegalArgumentException("Don't know how to search for " + type);
|
||||
} else {
|
||||
List<? extends T> list = this.byClass.computeIfAbsent(type, (typeClass) -> {
|
||||
- return this.allInstances.stream().filter(typeClass::isInstance).collect(Collectors.toList());
|
||||
+ // Sakura start
|
||||
+ List<T> result = new me.samsuik.sakura.utils.collections.UnorderedIndexedList<>();
|
||||
+ for (T allInstance : this.allInstances) {
|
||||
+ if (typeClass.isInstance(allInstance)) {
|
||||
+ result.add(allInstance);
|
||||
+ }
|
||||
+ }
|
||||
+ return result;
|
||||
+ // Sakura end
|
||||
});
|
||||
return (Collection<S>) Collections.unmodifiableCollection(list); // Sakura - decompile fix
|
||||
}
|
||||
Reference in New Issue
Block a user