Actualizado:

Leer datos (data get)

ObjetivoComando
Tu posición/data get entity @s Pos
La vida del zombi más cercano/data get entity @e[type=minecraft:zombie,limit=1,sort=nearest] Health
El objeto de tu mano/data get entity @s SelectedItem
El contenido de un cofre/data get block 100 64 100 Items

Quita el último nombre para mostrarlo todo. La salida es larga, así que pedir un solo campo se lee mejor.

Cambiar datos (data merge)

/data merge entity @e[type=minecraft:villager,limit=1,sort=nearest] {NoAI:1b,Invulnerable:1b}

Esto hace que el aldeano más cercano se quede quieto y no reciba daño. Solo cambian los campos de dentro de { }; el resto se queda igual.

CampoEfecto
NoAI:1bNo se mueve ni ataca
Invulnerable:1bNo recibe daño
Silent:1bNo hace ruido
PersistenceRequired:1bNo desaparece
Glowing:1bContorno visible a través de las paredes

Para deshacerlo, haz merge del mismo campo con 0b.

Copiar valores (data modify)

/data modify entity @e[type=minecraft:armor_stand,limit=1,sort=nearest] HandItems[0] set from entity @s SelectedItem

Esto copia el objeto de tu mano a la mano del soporte para armadura más cercano (1.21.4 y anteriores). Desde 1.21.5, el equipo de los mobs está en equipment, así que la ruta es equipment.mainhand. Usa set value … para escribir un valor directamente.

Meter un valor en un scoreboard

/scoreboard objectives add hp dummy
/execute store result score @s hp run data get entity @s Health 1

execute store guarda en una puntuación el número que devuelve data get, que luego puedes mostrar en la barra lateral o comparar con execute if score. El último número es una escala: Health es un decimal como 17.5, así que usa 10 en lugar de 1 para conservar un decimal (175).

Quitar un campo (data remove)

/data remove entity @e[type=minecraft:villager,limit=1,sort=nearest] CustomName

Esto borra el nombre del aldeano más cercano. data remove funciona con cualquier campo que puedas fijar con merge o modify.

Guardar valores en storage

/data modify storage mypack:temp round set value 1
/data get storage mypack:temp round

Storage es un sitio donde guardar datos que no pertenecen a ninguna entidad ni bloque. Se guarda con el mundo, lo que lo hace útil para ajustes y contadores de datapacks. El nombre antes de los dos puntos es tu propio espacio de nombres.

No se puede editar a los jugadores

/data get funciona con jugadores, pero merge y modify no. Para cambiar a los jugadores usa comandos específicos como /attribute, /item y /effect.

Problemas habituales

Comprueba tu comando

El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.