Improve performance of MatteryMenu#addSlot

This commit is contained in:
DBotThePony 2025-02-25 13:49:08 +07:00
parent 2bcc1965ce
commit 05913674b1
Signed by: DBot
GPG Key ID: DCC23B5715498507

View File

@ -8,6 +8,7 @@ import it.unimi.dsi.fastutil.ints.IntCollection
import it.unimi.dsi.fastutil.objects.Reference2ObjectFunction
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap
import it.unimi.dsi.fastutil.objects.ReferenceArrayList
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet
import net.minecraft.network.FriendlyByteBuf
import net.minecraft.network.RegistryFriendlyByteBuf
import net.minecraft.network.protocol.common.custom.CustomPacketPayload
@ -385,11 +386,11 @@ abstract class MatteryMenu(
private val externalSlots = ConditionalSet<Slot>()
private val quickMoveMapping = Reference2ObjectOpenHashMap<Slot, ReferenceArrayList<Collection<Slot>>>()
private val seenSlots = ReferenceOpenHashSet<Slot>()
override fun addSlot(pSlot: Slot): Slot {
if (pSlot in slots) {
if (!seenSlots.add(pSlot))
return pSlot
}
if (pSlot is UserFilteredSlot && !pSlot.hasSetFilter) {
val container = pSlot.container