diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt index a13963a7a..5c7ed9174 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/menu/MatteryMenu.kt @@ -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() private val quickMoveMapping = Reference2ObjectOpenHashMap>>() + private val seenSlots = ReferenceOpenHashSet() 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