Los selectores de objetivo en Minecraft se usan en comandos para especificar un destino para el comando. Los usamos también en la versión Minecraft Education y sus modders de MakeCode y Python, para programar comportamientos de entidades (mobs, enemigos, otros).
¿Cómo usar @s, @p y todos los selectores de objetivo en Minecraft?
¡Aprendemos Minecraft técnico!
Usos de los selectores de objetivo
- ¿Qué son los @a, @p, @s y @r en Minecraft?
- ¿Qué tipos de selectores para comandos existen en Minecraft?
- ¿Cuál es el selector de objetivo únicamente utilizable en addons y datapacks?
- ¿Se puede usar @s, @p, @a, @e con MakeCode en Minecraft?
- Para qué usar los bloques de selección de MakeCode
- El comando /execute vs los selectores de MakeCode
¿Qué son los selectores de objetivos?
Los nombres de jugadores como argumento de comando presentan limitaciones cuando estamos programando simulaciones y videojuegos en Minecraft; ya que muchas veces tendremos que actualizar el estado de varias personas a la vez, o manipular otros -objetos- como las entidades de Armor Stand, cofres, tolvas…
Usando selectores de objetivo, puedes referirte con variables (mira nuestro artículo sobre variables y constantes) a los jugadores o entidades de Minecraft y generar comandos en secuencia que resuelvan problemas complejos.
¿Qué selectores de objetivo existen en Minecraft?
Selectores de objetivo para Jugadores
Selector | ¿Qué seleccionará? |
---|---|
@p | El jugador más cercano |
@r | Un jugador aleatorio |
@s | Tu personaje |
@a | Todos los jugadores |
Selectores de objetivo de Entidades
Selector | ¿Para qué sirve? |
---|---|
@e | Todas las entidades (incluye también armor_stand y otros, como NPC’s) |
@c | Tu Agent (característica exclusiva de Minecraft Education) |
@v | Todos los Agent (característica exclusiva de Minecraft Education) |
¿Cómo probar a ver qué seleccionan?
La manera más fácil de probar un selector de objetivos es usando el comando /say. Escribe en el chat (Toca la T) /say @s
.
Verás como resultado en la consola tu nombre dentro del juego.
Prueba todos los usos del comando /say con otros selectores, por ejemplo /say @a, mostrará el listado de todos los nombres de jugadores, o /say @e mostrará el nombre de todas las entidades, incluyendo jugadores y mobs o entidades estáticas (cofre, armor stand).
¿Cuál es el selector de objetivo únicamente utilizable en addons y datapacks?
Existe un selector de objetivos especial (en realidad, un par) que puede ser utilizado solamente en functions (funciones creadas para addons en la versión Bedrock, Education y Java).
¿Para qué sirve @initiator en comandos de Minecraft?
El selector de objetivo @initiator sirve para referenciar e identificar (y ejecutar un comando) al jugador que ha iniciado la conversación con un NPC.
Ejemplos de uso de @initiator en Minecraft
Se suele utilizar para desarrollar interacciones avanzadas con objetos o PNJs (NPCs), donde se dispara una acción para el jugador que ha interactuado con la entidad. Por ejemplo, podemos usarlo para que al tocar el botón “Comprar” en una tienda hecha en NPC, se descuente determinada cantidad de monedas.
Imagina usarlo para que, en un mapa de aventuras de terror, puedas apagar todas las luces del lugar al interactuar con un NPC. Usarías @initiator con el comando /effect. Puedes usarlo para dar un efecto u objeto al jugador que ha iniciado la conversación.
Otra opción, es testear a ver si un jugador ya ha tenido el diálogo antes, y marcarlo en un scoreboard para que luego podamos probar si decir una u otra cosa al iniciar la conversación con el NPC.
Podría servir para traducir a diferentes idiomas en tiempo de juego, también…
Video tutorial sobre cómo usar el selector @initiator en Minecraft Bedrock:
Puedes explorar algunos ejemplos de @initiator y el resto de selectores de objetivo en la wiki de Minecraft Bedrock Devs. Ten en cuenta que se puede utilizar, como te comentaba antes, solo en conversaciones con NPCs.
¿Se puede usar @s, @p, @a, @e con MakeCode en Minecraft?
Los selectores de objetivo @p, @s, @a, @r, @e y otros se encuentran como bloques y puedes leer más sobre ellos en la documentación de Microsoft MakeCode para Minecraft Education.

Para qué usar los bloques de selección de MakeCode
Los mods que podemos crear en Minecraft Education son variados, y conocer cómo se usan los selectores de objetivo te facilitarán hacer pruebas antes de crear Addons o programas muy largos.
Prueba generar comportamientos complejos, como por ejemplo crear una mascota que te siga usando solo MakeCode, o que al abrir un cofre y tomar un objeto se abra una puerta…
Tendrás que combinar selectores, comandos de Ejecutar para guardar datos en un scoreboard, y usar otros comandos como /give o /fill para desarrollar este tipo de mecánicas.
El comando /execute vs los selectores de MakeCode
Podemos generar los mismos comportamientos que hacemos con el comando /execute utilizando los bloques de selección de MakeCode (seleccionar todas las entidades @e y otros). Sin embargo, debemos tener en cuenta una cosa muy importante, y para nada menor.
¿Qué tan rápida es tu computadora?
Como te he contado antes, en la guía de optimización completa de Minecraft Education, Aunque hayas optimizado Minecraft Education para hacerlo funcionar hasta en una tostadora, estarás atado-a al rendimiento del juego para poder usar el MakeCode sin que se fría tu programa rápidamente. Es lento. LENTÍSIMO.
¿MakeCode o /execute? ¿Qué es mejor?
El tiempo entre ticks al ejecutar programas que afectan al juego con selectores se ve rápidamente incrementado conforme agregamos bloques. Es un acercamiento (aunque válido) de pobre rendimiento. El /execute no sufre tanto de este problema, pero igualmente para programas muy largos o que afectan a muchas entidades, sufrirá también.
La mejor manera de usar /execute es PROBANDO tus comportamientos
Justamente, ahí está la ventaja de diseñar en Makecode primero, y traducir a comandos de /execute luego.
El truco que nadie está viendo
Crear una lógica de manera visual en MakeCode, probar que todo esté funcionando correctamente; y luego, en caso de necesitarlo, pasar toda la lógica a bloques de comandos. Lo mejor de los dos mundos, conviviendo.
Tienes que pensar que lo único que agrega al juego (en posibilidad de modificación) MakeCode, es el compilador y herramienta de programación visual. Por detrás, está usando únicamente una secuencia de comandos tal cual fuera una secuencia de bloques de comandos.
¡Hasta la próxima!
Hasta acá en esta entrega 🙂
