無遅延型ランダムタグ
もう古く、hasitemで代用できますが、こちらはこちらでHasItemの扱いが苦手な人にはいいのではないでしょうか。
タグ名「tagA」は無遅延型ランダムタグにおける通常型ランダムタグのものと同義
タグ名「tagB」は無遅延型ランダムタグにおいて最も重要なパーツになります。
指定したい条件のエンティティを<target>内で指定する
<成功時に使うコマンドのトリガーとなるタグ>はこの無遅延型ランダムタグとは別のコマンドの列で使用してください。
簡略化したいといって条件付きを連続させての仕様は物凄い負荷の原因となりますので、必ず別の列で、このタグのついたプレイヤーに実行させてその列の最後のコマンドで使用したタグを消しましょう
このコマンドはプレイヤーで使うことを想定しており、ほかのMobで使う場合、
数が機関部の繰り返し回数より多くなると遅延が発生し、通常のランダムタグと同じように比例して遅延が発生します。(少し遅延の長さは減ると思いますが)
メインのランダムタグ----------
リピート 無条件 レッドストーンが必要
tag @r[<target>,tag=!tagB] add tagA
チェーン 無条件 常時実行
tag @e[tag=tagA] add tagB
チェーン 無条件 常時実行 
clear @e[tag=tagA] <検知したいアイテム> <検知したいアイテムのデータ値> 1
ちぇえええええええええええん 条件付き 常時実行
tag @e[tag=tagA] add <成功時に使うコマンドのトリガーとなるタグ>
チェーン 無条件 常時実行
tag @e remove tagA
--------------------
上記のコマンドをsetmaxplayerの数だけ連続させましょう。「リピート 無条件 レッドストーンが必要」のコマンドブロックはこれ以降連続させる際、「チェーン 無条件 常時実行」にすること
必ず最後に設置
tag @e remove tagB