8 votos

¿Cómo se llama la cosa que está entre los corchetes en un comando Minecraft?

Quiero saber cómo se llama y me gustaría tener una lista de cosas (o un enlace a una lista de cosas) que puedes hacer con él. Sólo sé @p[score_name_min=1] .

Quiero saber si hay algo como: @p[activingeffect???] .

Estoy construyendo algo que sólo afectará al jugador si no tiene un efecto activo, por ejemplo, dar velocidad cuando el jugador no tiene un efecto de velocidad todavía.

Me gustaría usar sólo un comando:

/effect @p[No speed effect] 1 1.

0 votos

En programación se llama "predicado" o "condición". Ni idea de cómo lo llama Minecraft.

9voto

MrLemon Puntos 13223

Esa cosa se llama argumento del selector de destino .

A partir de Mineraft 1.8.9, hay 20 argumentos diferentes disponibles para su uso:

x, y, z         coordinates
r, rm           radius (max, min)
m               game mode
c               count
l, lm           experience level (max, min)
score_name      max score
score_name_min  min score
team            team name
name            entity name
dx, dy, dz      volume dimensions
rx, rxm         vertical rotation (max, min)
ry, rym         horizontal rotation (max, min)
type            entity type

La instantánea 1.9 15w32b añadió otro argumento.

tag             scoreboard tag

Como puede ver, no hay manera de comprobar los efectos activos utilizando los argumentos del selector de destino. La comprobación de los efectos activos de una entidad sólo puede hacerse mirando su etiqueta de datos, por ejemplo, comprobando si coincide con {ActiveEffects:[{Id:1b}]} . El /effect no es capaz de hacer eso por sí mismo, lo que significa que no podrás hacer lo que describes en un solo comando.

Mediante los marcadores, puede "traducir" la coincidencia de etiquetas de datos en una puntuación o una etiqueta (sólo en la versión 1.9), que luego puede utilizar con los argumentos del selector de destino.

Crea un objetivo ficticio para almacenar la puntuación:

/scoreboard objectives add hasSpeed dummy

Cree un reloj de 20Hz. (setblock/fill clock, en 1.9, utilice los bloques de comandos de repetición/cadena) y ejecute los siguientes comandos:

/scoreboard players set @a hasSpeed 0
/scoreboard players set @a hasSpeed 1 {ActiveEffects:[{Id:1b}]}

Después, puedes ejecutar

/effect @a[score_hasSpeed=0] 1 1

en el mismo reloj.

0 votos

No /scoreboard jugadores establecer @a hasSpeed 1 {ActiveEffects:[{Id:Minecraft:velocidad}]}

1 votos

Debería ser /scoreboard players set @a hasSpeed 1 {ActiveEffects:[{Id:1b}]}

0 votos

@MinerNBuilder tienes razón. Me cuesta llevar la cuenta de dónde uso los ID numéricos y dónde funciona el nombre con las pociones. Ten en cuenta que puedes sugerir un editar a una respuesta usted mismo. Será revisado por los usuarios de alto nivel (2000+), así que asegúrate de poner una buena razón.

JugonesTop.com

Jugonestop es una comunidad para amantes del gaming. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X