From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Taiyou06 Date: Tue, 13 May 2025 20:41:07 +0200 Subject: [PATCH] Use HashedList on WeightedList diff --git a/net/minecraft/util/random/WeightedList.java b/net/minecraft/util/random/WeightedList.java index daab145028c59c07049a2cf75c4f159e4c5073dc..4bb07ffde3674dc8d09b858ec0bd1ebc8a83bff1 100644 --- a/net/minecraft/util/random/WeightedList.java +++ b/net/minecraft/util/random/WeightedList.java @@ -19,6 +19,7 @@ public class WeightedList { // Paper - non-final private final List> items; @Nullable private final WeightedList.Selector selector; + private List> entryHashList; // Leaf - Use HashedList on WeightedList protected WeightedList(List> items) { // Paper - protected this.items = List.copyOf(items); @@ -30,6 +31,7 @@ public class WeightedList { // Paper - non-final } else { this.selector = new WeightedList.Compact<>(this.items); } + this.entryHashList = this.items.size() > 4 ? this.items : java.util.Collections.unmodifiableList(new org.dreeam.leaf.util.list.HashedReferenceList<>(this.items)); // Leaf - Use HashedList on WeightedList } public static WeightedList of() { @@ -80,7 +82,7 @@ public class WeightedList { // Paper - non-final } public List> unwrap() { - return this.items; + return this.entryHashList; // Leaf - Use HashedList on WeightedList } public static Codec> codec(Codec elementCodec) {