Actualizado:
Leer datos (data get)
| Objetivo | Comando |
|---|---|
| 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.
| Campo | Efecto |
|---|---|
NoAI:1b | No se mueve ni ataca |
Invulnerable:1b | No recibe daño |
Silent:1b | No hace ruido |
PersistenceRequired:1b | No desaparece |
Glowing:1b | Contorno 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
- Demasiados objetivos: añade
limit=1. /data trabaja con un objetivo cada vez. - El cambio se deshace: no funciona con jugadores, y algunos campos de los mobs se reescriben cada tick.
- Nombre de campo desconocido: muestra antes todos los datos con
/data gety copia el nombre. Los nombres pueden cambiar entre versiones. - Bedrock Edition: no hay /data.
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.