Improve performance of MatteryMenu#addSlot
This commit is contained in:
parent
2bcc1965ce
commit
05913674b1
@ -8,6 +8,7 @@ import it.unimi.dsi.fastutil.ints.IntCollection
|
|||||||
import it.unimi.dsi.fastutil.objects.Reference2ObjectFunction
|
import it.unimi.dsi.fastutil.objects.Reference2ObjectFunction
|
||||||
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap
|
import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap
|
||||||
import it.unimi.dsi.fastutil.objects.ReferenceArrayList
|
import it.unimi.dsi.fastutil.objects.ReferenceArrayList
|
||||||
|
import it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet
|
||||||
import net.minecraft.network.FriendlyByteBuf
|
import net.minecraft.network.FriendlyByteBuf
|
||||||
import net.minecraft.network.RegistryFriendlyByteBuf
|
import net.minecraft.network.RegistryFriendlyByteBuf
|
||||||
import net.minecraft.network.protocol.common.custom.CustomPacketPayload
|
import net.minecraft.network.protocol.common.custom.CustomPacketPayload
|
||||||
@ -385,11 +386,11 @@ abstract class MatteryMenu(
|
|||||||
|
|
||||||
private val externalSlots = ConditionalSet<Slot>()
|
private val externalSlots = ConditionalSet<Slot>()
|
||||||
private val quickMoveMapping = Reference2ObjectOpenHashMap<Slot, ReferenceArrayList<Collection<Slot>>>()
|
private val quickMoveMapping = Reference2ObjectOpenHashMap<Slot, ReferenceArrayList<Collection<Slot>>>()
|
||||||
|
private val seenSlots = ReferenceOpenHashSet<Slot>()
|
||||||
|
|
||||||
override fun addSlot(pSlot: Slot): Slot {
|
override fun addSlot(pSlot: Slot): Slot {
|
||||||
if (pSlot in slots) {
|
if (!seenSlots.add(pSlot))
|
||||||
return pSlot
|
return pSlot
|
||||||
}
|
|
||||||
|
|
||||||
if (pSlot is UserFilteredSlot && !pSlot.hasSetFilter) {
|
if (pSlot is UserFilteredSlot && !pSlot.hasSetFilter) {
|
||||||
val container = pSlot.container
|
val container = pSlot.container
|
||||||
|
Loading…
Reference in New Issue
Block a user