Selectores de Objetivos @a, @s, @r, @p

seleccionar un grupo de entidades con makecode minecraft

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).

¡Aprendemos Minecraft técnico!

Usos de los selectores de objetivo

¿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á?
@pEl jugador más cercano
@rUn jugador aleatorio
@sTu personaje
@aTodos los jugadores

Selectores de objetivo de Entidades

Selector¿Para qué sirve?
@eTodas las entidades (incluye también armor_stand y otros, como NPC’s)
@cTu Agent (característica exclusiva de Minecraft Education)
@vTodos 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?

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:

Ejemplo de @initiator en un comando /dialogue

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

¿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

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 🙂

usando el comando kill @v en la consola de Minecraft

Comentarios

No hay comentarios aún. ¿Por qué no comienzas el debate?

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *