find Best Tool To Mine Block
fun <T : ItemSlot> Iterable<T>.findBestToolToMineBlock(blockState: BlockState, ignoreDurability: Boolean = true, predicate: BiPredicate<ItemStack, BlockState> = BiPredicate { _, _ -> true }): T?
Finds the best slot in this iterable for mining blockState using mc.player as baseline.
The result depends on current player context (e.g. creative state and durability filtering), then ranks candidates by destroy speed and nearby-slot preference.