BedState

constructor(block: BedBlock, trackedBlockPos: BlockPos, pos: Vec3, surroundingBlocks: List<SurroundingBlock>, compactSurroundingBlocks: List<SurroundingBlock> = run { val map = Reference2ObjectOpenHashMap<Block, IntIntMutablePair>() surroundingBlocks.forEach { surrounding -> val pair = map.computeIfAbsent(surrounding.block) { IntIntMutablePair(0, 0) } pair.left(pair.leftInt() + surrounding.count) pair.right(minOf(pair.rightInt(), surrounding.layer)) } map.map { SurroundingBlock(block = it.key, count = it.value.leftInt(), layer = it.value.rightInt()) } })