Actualizado:
Qué significa el error
El mensaje suele indicar que el analizador de comandos llegó a una parte que no puede leer. La causa puede ser un comando no compatible, un argumento que falta, la edición equivocada, un selector roto o un corchete sin cerrar.
Lista de comprobación
- Comprueba si el comando es para Java Edition o Bedrock Edition.
- Comprueba la versión de Minecraft.
- Asegúrate de que el comando empieza con la barra correcta en el chat.
- Revisa selectores como
@p,@ay@e[type=...]. - Revisa todas las comillas, corchetes y comas.
NBT y componentes
Muchos ejemplos antiguos usan datos de objeto en formato NBT. Los comandos de objetos más recientes de Java Edition pueden usar componentes en su lugar. Si falla un comando /give copiado, la diferencia de versión suele ser la causa.
Cómo aislar un error paso a paso
- Prueba el comando válido más corto de tu edición, como
/give @p minecraft:stone 1para un ejemplo básico de give en Java. - Comprueba que los trucos o los permisos de operador están activados en el mundo de pruebas.
- Verifica que el selector de objetivo encuentra al menos un jugador o entidad.
- Quita corchetes opcionales, NBT, componentes de objeto y JSON hasta que funcione el comando básico.
- Vuelve a añadir las opciones de una en una, ajustándolas a tu versión real de Minecraft.
Ejemplos de distintos fallos
Un comando desconocido cerca del principio puede indicar falta de permiso o un nombre de comando incorrecto. Un error cerca de un ID de objeto puede indicar que ese ID no existe en la versión elegida. Un fallo después de [ o { puede indicar un delimitador sin pareja o un formato de datos incompatible con la versión. En Java 1.20.5+, los ejemplos antiguos de objetos personalizados con NBT suelen necesitar otra forma con componentes.
Pega el comando en el Command Error Doctor (en inglés) para revisar los problemas de formato habituales. Esta herramienta del navegador ayuda con la sintaxis, pero no sustituye a ejecutar el comando de verdad en Minecraft.
Mensajes habituales y a qué apuntan
| Mensaje (Java) | Causa probable |
|---|---|
| Comando desconocido o incompleto | Nombre de comando mal escrito, un argumento que falta o un comando que no existe en esta edición o versión |
| Argumento incorrecto para el comando | Algo después de una parte válida está mal; el texto rojo del chat empieza justo donde está el problema |
| Objeto desconocido / Entidad desconocida | El ID está mal escrito o se renombró; por ejemplo, grass pasó a ser short_grass en la 1.20.3 |
| Se esperaba un espacio para terminar un argumento | Dos argumentos están pegados, a menudo falta un espacio después de ] o } |
| No se encontró ningún jugador / ninguna entidad | El comando es válido, pero el selector no coincidió con nadie |
Cambios de versión que rompen comandos copiados
- Java 1.13: se reconstruyó el sistema de comandos; muchos tutoriales antiguos usan sintaxis eliminada, como los valores de datos en /give.
- Java 1.20.5: el NBT de objetos entre
{ }se sustituyó por componentes entre[ ]. - Java 1.21.5: los componentes de texto se escriben en SNBT, y
clickEventpasó a serclick_event. - Java 1.21.11: cambiaron los nombres de las reglas del juego; por ejemplo,
keepInventorypasó a serminecraft:keep_inventory.
Preguntas frecuentes
El comando funciona en el chat pero no en un bloque de comandos. ¿Por qué?
Las coordenadas relativas y @s se refieren al bloque de comandos, no a ti. Usa execute as @p at @s run … para ejecutarlo desde un jugador.
¿Hace falta la barra?
En el chat, sí. En los bloques de comandos es opcional. En los archivos de funciones (.mcfunction), escribe los comandos sin barra.