Detectar a un jugador con items, en coordenadas o cerca de otras entidades
Las utilidades del testfor en jugadores son básicamente saber cuando un jugador sostiene un item, lo tiene en el inventario, si esta en un lugar en específico etc...
Aunque solo detectar a un jugador o un mob no sirve mucho mas que para saber algo sobre estos. Para abrir una puerta o hacer tp a un jugador por ejemplo, cuando estos tienen un item en la mano hay que utilizar un bloque de comandos en modo cadena o utilizar un comparador que active el siguiente comando.
------------------ Detectar items en el inventario ------------------
Detectar items en el inventario del jugador es una de las cosas más útiles para el mapmaking, desde abrir una puerta al tener una llave en el inventario o detectar que el jugador ha recogido un item específico y muchísimas más cosas.
Si queréis probar estos comandos aquí tenéis uno para conseguir la antorcha:
/give @p minecraft:torch 1 0 {display:{Name:"antorcha cálida",Lore:["Emite una cálida luz que que protege de las más bajas temperaturas."]}}
También os recomiendo este give generator, es bastante útil y ahorra mucho tiempo:
https://ezekielelin.com/give/-Detectar item en el inventario:
/testfor @a {Inventory:[{id:"minecraft:torch"}]}
-Detectar item seleccionado en cualquier slot:
/testfor @a {SelectedItem:{id:"minecraft:torch"}}
-Detectar un item seleccionado en el primer slot de la hotbar:
/testfor @a {SelectedItemSlot:0,Inventory:[{Slot:0b,id:"minecraft:torch"}]}
-Detectar item renombrado seleccionado en primer slot:
/testfor @a {SelectedItemSlot:0,Inventory:[{Slot:0b,id:"minecraft:torch"},{tag:{display:{Name:"antorcha cálida"}}}]}
-Detectar item renombrado y con lore seleccionado
/testfor @a {SelectedItem:{id:"minecraft:torch",tag:{display:{Name:"antorcha cálida",Lore:["Emite una cálida luz que que protege de las más bajas temperaturas."]}}}}
---- Detectar jugadores (coordenadas, cercanía, etc...) ----
Detectar jugador en un radio respecto a un bloque de comandos
/testfor @a[r=5]
-Detectar jugador en un radio respecto a otra entidad
/execute @e[type=Zombie] ~ ~ ~ /testfor @p[r=5]
-Detectar a un jugador en un radio respecto a unas coordenadas
/testfor @a[x=0,y=50,z=0,r=3]
-------- Detectar jugadores con efectos de poción --------
Detectar efectos de poción de jugadores puede ser muy útil, tanto como detectar items en el inventario, siempre que la situación requiera usarlo claro.
Aquí tienéis una lista con todas las id de los efectos de poción:http://minecraft.gamepedia.com/Status_effect#Summary_of_effects-Detectar efecto de poción (Comando básico)
/testfor @a {ActiveEffects:[{Id:1b}]}
-Detectar efecto de poción (nivel)
/testfor @a {ActiveEffects:[{Id:1b,Amplifier:0b}]}