En esta guía vas a crear un rubí: una gema brillante y sencilla que se apila hasta 64, aparece en el inventario creativo y tiene su propio nombre e icono. Todavía no hace nada especial, pero cada espada, comida o pieza de armadura que hagas más adelante parte exactamente de este archivo.
Hay dos formas de hacerlo. La rápida te lleva un par de minutos en el móvil. La manual te enseña cada archivo, para que entiendas lo que pasa.
La forma rápida: GodCraft
GodCraft crea por ti el archivo del objeto, la textura, el nombre y los archivos del paquete. Nunca abres un archivo JSON.
- Abre el Taller y añade un Objeto a tu complemento.
- Dibuja el icono en el editor de píxeles, o parte de una textura del juego base y cámbiale el color.
- Escribe el nombre y elige los ajustes que quieras, como el tamaño del montón.
- Toca Exportar. GodCraft escribe los manifiestos, los UUID y los archivos de idioma, y te da un
.mcaddonpara abrir en Minecraft.
¿Te pica la curiosidad por saber qué hay dentro de ese .mcaddon? Sigue leyendo.
A mano
Necesitas un paquete de comportamiento (BP) y un paquete de recursos (RP) ya preparados. Si todavía no los tienes, sigue primero Preparar el proyecto. En todos los ejemplos usamos el espacio de nombres myname. Cámbialo por tu propio nombre corto, en minúsculas, en todos los sitios donde aparezca.
Estos son los archivos que vas a crear o cambiar:
| Archivo | Paquete | Qué hace |
|---|---|---|
items/ruby.json | BP | Dice que el objeto existe y cómo se comporta |
textures/items/ruby.png | RP | La imagen |
textures/item_texture.json | RP | Le da un nombre corto a la imagen |
texts/en_US.lang | RP | El nombre que leen los jugadores |
Paso 1: el archivo del objeto
Crea una carpeta llamada items en tu paquete de comportamiento y añade este archivo:
{
"format_version": "1.26.30",
"minecraft:item": {
"description": {
"identifier": "myname:ruby",
"menu_category": {
"category": "items"
}
},
"components": {
"minecraft:icon": {
"textures": {
"default": "myname_ruby"
}
},
"minecraft:display_name": {
"value": "item.myname:ruby.name"
},
"minecraft:max_stack_size": 64
}
}
}Vamos a verlo parte por parte.
format_versionle dice al juego qué versión de las reglas de objetos sigue tu archivo. Usa una reciente para que funcionen todos los componentes modernos.identifieres el ID único del objeto. Siempre esnamespace:name. Nunca uses el espacio de nombresminecraftpara un objeto nuevo: ese es del juego.menu_categorydecide dónde aparece el objeto en el inventario creativo. Lacategorypuede serconstruction,nature,equipment,itemsonone(oculto). También puedes añadir ungroupcomo"minecraft:itemGroup.name.sword"para meterlo en una carpeta que ya existe.componentses donde el objeto recibe sus características. Cada componente es una característica.
Los tres componentes que se usan aquí:
minecraft:iconelige la imagen.defaultes el nombre corto que definirás enitem_texture.jsonen el paso 3, no una ruta de archivo.minecraft:display_namedefine el nombre. Aquí apunta a una clave del archivo de idioma, para que el nombre se pueda traducir.minecraft:max_stack_sizees cuántos caben en una ranura. Usa un número del 1 al 64.
Una característica, un componente
¿Quieres que el objeto brille como un libro encantado? Añade minecraft:glint con true. ¿Quieres que sobreviva a la lava? Añade minecraft:fire_resistant. Cada componente tiene su propia página de referencia con todos sus campos.
Paso 2: la textura
Dibuja un PNG de 16x16 píxeles y guárdalo en tu paquete de recursos:
A 16x16 PNG with a transparent backgroundDeja el fondo transparente, o el icono será un cuadrado. Si eres nuevo en el pixel art, Texturas pixeladas tiene consejos para que las imágenes pequeñas se vean bien.
Paso 3: registra la textura
El juego no lee los archivos PNG por su ruta desde el objeto. En su lugar, item_texture.json le da a cada imagen un nombre corto, y el objeto usa ese nombre. Crea (o abre) este archivo:
{
"resource_pack_name": "myname",
"texture_name": "atlas.items",
"texture_data": {
"myname_ruby": {
"textures": "textures/items/ruby"
}
}
}Fíjate en dos cosas:
- La clave
myname_rubycoincide con el valordefaultdel componente de icono del objeto. - La ruta no lleva
.pngal final.
Cuando añadas más objetos más adelante, ponlos todos en este mismo archivo como entradas extra dentro de texture_data. No crees un segundo item_texture.json.
Paso 4: el nombre
Abre (o crea) el archivo de idioma inglés y añade una línea:
item.myname:ruby.name=RubyLa parte antes del = debe coincidir exactamente con el value de minecraft:display_name. La parte de después es lo que ven los jugadores. Los archivos de idioma son texto plano: una entrada por línea, sin comillas y sin comas.
Paso 5: pruébalo
- Copia los dos paquetes a Minecraft, o expórtalos (consulta Exportar e instalar).
- Crea un mundo nuevo y activa los dos paquetes en sus ajustes.
- Abre el chat y escribe el comando /give:
/give @s myname:ruby 64Deberías recibir un montón completo de rubíes con tu icono y el nombre "Ruby". En un mundo creativo también lo encontrarás en la pestaña Objetos del inventario.
Cuando algo sale mal
| Lo que ves | Causa más probable |
|---|---|
/give dice que el objeto no existe | Una errata en el identificador, o el paquete de comportamiento no está activado |
| El objeto tiene un icono rosa y negro | La clave de item_texture.json no coincide con el icono, o la ruta está mal |
El nombre se ve como item.myname:ruby.name | La clave de idioma no coincide, o el archivo de idioma no está en texts |
| No carga nada del paquete | Un error de sintaxis JSON, como una coma que falta |
Activa Registro de contenido en los ajustes de creador de Minecraft para ver los mensajes de error exactos. Tienes más soluciones en Solución de problemas.
¿Qué sigue?
Tu rubí es un objeto sencillo. Ahora dale una función:
- Crea algo que los jugadores puedan comer en Comida personalizada.
- Convierte los rubíes en una espada o un pico en Armas y herramientas.
- Crea un conjunto completo de armadura de rubí en Armadura personalizada.
- Deja que los jugadores fabriquen rubíes en Recetas de mesa de crafteo y horno.
Para ver cómo construye Mojang sus propios objetos, explora los objetos del juego base.