minecraft-src/net/minecraft/world/item/ItemStackLinkedSet.java
2025-07-04 01:41:11 +03:00

22 lines
816 B
Java

package net.minecraft.world.item;
import it.unimi.dsi.fastutil.Hash.Strategy;
import it.unimi.dsi.fastutil.objects.ObjectLinkedOpenCustomHashSet;
import java.util.Set;
import org.jetbrains.annotations.Nullable;
public class ItemStackLinkedSet {
private static final Strategy<? super ItemStack> TYPE_AND_TAG = new Strategy<ItemStack>() {
public int hashCode(@Nullable ItemStack stack) {
return ItemStack.hashItemAndComponents(stack);
}
public boolean equals(@Nullable ItemStack first, @Nullable ItemStack second) {
return first == second || first != null && second != null && first.isEmpty() == second.isEmpty() && ItemStack.isSameItemSameComponents(first, second);
}
};
public static Set<ItemStack> createTypeAndComponentsSet() {
return new ObjectLinkedOpenCustomHashSet<>(TYPE_AND_TAG);
}
}