He visto esta pregunta respondida antes para Java, pero no he encontrado una respuesta para Bedrock. Necesito esto para muchos proyectos, pero para este caso, digamos que estoy haciendo una torreta. La torreta está controlada por un armor stand invisible llamado "torreta" y genera balas que también son armor stands invisibles llamados "bala". Sin embargo, no logro averiguar cómo hacer que las balas se muevan en la dirección en la que están mirando. Aquí está la sintaxis que tengo: /execute as @e[name=bullet] run tp @s ^ ^ ^1
Presumo que esto funcionaría en Java, y recuerdo que esta sintaxis funcionaba antes, pero creo que el cambio en la sintaxis de Bedrock /execute hizo que dejara de funcionar. ¿Cómo puedo hacer que una entidad se mueva hacia adelante correctamente?
Respuestas
¿Demasiados anuncios?/execute at @e[name=bullet] as @e[name=bullet] run tp @s ^ ^ ^1
funcionará, pero solo con un soporte de armadura. as
no cambia la posición, rotación o dimensión, solo quién o qué lo está ejecutando. at
cambia la posición, rotación y dimensión, pero no quién o qué lo ejecuta. El problema con múltiples soportes de armadura es que cada uno se ejecuta en orden, por lo que el soporte n.º 1 teletransporta todas las balas 1 bloque delante de él, luego el soporte n.º 2 teletransporta todas las balas 1 bloque delante de él. La Wiki explica más a fondo aquí: Subcomandos y bifurcación
Editar: un comentario respondió con un comando totalmente funcional, así que eso está en la siguiente respuesta.
/execute as @e[name=bullet] at @s run tp @s ^^^1
debería funcionar.
Si analizamos el comando, execute as @e[name=bullet]
hace que todas las entidades llamadas "bullet" (en este caso, stands de armaduras) ejecuten los comandos siguientes individualmente como ellos mismos, por lo que todos los selectores @s
después de as
solo apuntan al stand que lo está ejecutando. Sin embargo, as
no cambia la posición ni la rotación del comando, pero at
sí lo hace. Entonces at @s
establece la posición y rotación en el stand que está ejecutando el comando. Y por último, run tp @s ^ ^ ^1
teleporta a todos los stands un bloque en la dirección en la que están mirando.