You'll need to use a redstone comparator and probably a repeater as well.
A comparator will signal in the same fashion as it does for other non-inventory non-selector blocks; when the command block activates, it will be detectable by the comparator and will only produce a signal strength of redstone equal to the number of successful activations. Most commands only activate 1 time, so a repeater would be useful here.
What you want is the stats
command, with the SuccessCount
stat.
The stats
command
The command syntax for what you want to do is
stats block <x> <y> <z> set <stat> <selector> <objective>
<x> <y> <z>
are the coordinates of the block running the command you want to get the result data for.
<stat>
is one of AffectedBlocks
, AffectedEntities
, AffectedItems
, QueryResult
or SuccessCount
, depending on what you want to do (check the wiki for more information). SuccessCount
is typically the same as output redstone power, but isn't capped to 15 (IIRC, it does vary for some commands).
<selector>
and <objective>
specify a target entity and a scoreboard objective in which to store the result. I suggest using either @a
(useful for executing directly on the players if a condition is met) or a named armor stand as the selector.
Example
We have a command block running a testfor
command (at coordinates 1 2 3), and we want to run another command if at least 4 entities (e.g. players) qualify*. We create a (dummy) scoreboard objective called "SCObjective" and summon in an (invisible, marker) armor stand called "SCDummy". We create another command block, running
stats block 1 2 3 set SuccessCount @e[type=ArmorStand,name=SCDummy] SCObjective
Afterwards, we can use
execute @e[type=ArmorStand,name=SCDummy,score_SCObjective_min=4] ~ ~ ~ <other command>
to run our command based on the result of the testfor.
* This is one of the few cases where testfor
is useful and can not easily be replaced by execute
.
There is an alternate version of the command for use with entities:
stats entity <selector2> set <stat> <selector> <objective>
This will return a <stat>
for a command run by <selector2>
(including when running execute
off that entity).
Best Answer
Note: I'm currently away from a device that can run bedrock edition so I can't test this. Please test before taking my word for it.
According to the
testfor
command docs:If it sent the same signal strength regardless of the number of entities found, it wouldn't be possible to measure.
So yes, the signal strength does vary depending on the number of entities found.