diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/container/ContainerProxy.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/container/ContainerProxy.kt index ed76e67d5..b8cb0a3ed 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/container/ContainerProxy.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/container/ContainerProxy.kt @@ -4,6 +4,7 @@ import com.google.common.collect.ImmutableList import com.google.common.collect.ImmutableMap import com.google.common.collect.ImmutableSet import it.unimi.dsi.fastutil.ints.IntAVLTreeSet +import it.unimi.dsi.fastutil.ints.IntOpenHashSet import it.unimi.dsi.fastutil.objects.Object2ObjectFunction import it.unimi.dsi.fastutil.objects.Reference2ObjectOpenHashMap import net.minecraft.world.Container @@ -50,11 +51,11 @@ open class ContainerProxy(containers: Stream>>) : init { val list = ImmutableList.Builder() var i = 0 - val validationMap = Reference2ObjectOpenHashMap() + val validationMap = Reference2ObjectOpenHashMap() val slotsMap = Reference2ObjectOpenHashMap>() for ((container, slots) in containers) { - val validator = validationMap.computeIfAbsent(container, Object2ObjectFunction { IntAVLTreeSet() }) + val validator = validationMap.computeIfAbsent(container, Object2ObjectFunction { IntOpenHashSet() }) val slotList = slotsMap.computeIfAbsent(container, Object2ObjectFunction { ArrayList() }) for (slot in slots) { diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt index 0f34a7011..bc2fbf15d 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/item/QuantumBatteryItem.kt @@ -3,6 +3,7 @@ package ru.dbotthepony.mc.otm.item import it.unimi.dsi.fastutil.ints.Int2ObjectAVLTreeMap import it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap import it.unimi.dsi.fastutil.ints.IntAVLTreeSet +import it.unimi.dsi.fastutil.ints.IntOpenHashSet import net.minecraft.ChatFormatting import net.minecraft.core.Direction import net.minecraft.nbt.ByteArrayTag @@ -391,7 +392,7 @@ class QuantumBatteryItem : Item { fun tick(event: ServerTickEvent) { if (event.phase == TickEvent.Phase.END) { for (ply in event.server.playerList.players) { - val networkedChannels = IntAVLTreeSet() + val networkedChannels = IntOpenHashSet(0) for (item in ply.allItemsStream().filter { !it.isEmpty && it.item is QuantumBatteryItem }) { val power = item.getCapability(MatteryCapability.ENERGY).orThrow() as Power