Tras haber creado la clase genérica para los objetos ahora os voy a enseñar a añadir un nuevo objeto a la clase base y crear el .json necesario.
Antes de empezar:Habrá que crear una textura en PNG para el objeto y meterla dentro de la carpeta textures/items.
Crear el objetoCrearPara crearlo hay que hacer más o menos lo mismo que con los bloques, se añade un atributo público, estático, final y de tipo Item.
Recomendación: Para facilitar la visualización, es recomendable poner barras de comentario que separen los distintos tipos de elementos, como en este caso, los materiales.
InicializarEl siguiente paso es inicializarlo con la clase GenericItem que acabamos de crear.
Para ello podemos crear un nuevo grupo static o usar uno ya creado y utilizar uno de los constructores de la clase GenericItem para inicializarlo. En este caso he utilizado el que solo requiere nombre y pestaña de creativo (os enseñaré a crear nuestras propias pestañas en un par de tutoriales).
Renderizado en el inventarioEl último paso, antes de pasar al JSON, es decirle al Forge que renderice el objeto en el inventario.
Aunque podríamos usar el método que creamos para los bloques, es mejor crear un nuevo método para separar la lógica:
Nuevamente, la primera línea es para guardar en una variable el renderizador del Minecraft y no tener que volver a escribir todo cada vez que añadimos un bloque. Podéis ponerlo tal cual.
La siguiente es la propia orden, estamos diciendo que registre el objeto (aluminum), con metadata 0 y que su textura del inventario es la que le pasamos.
Como véis, al tener el nombre accesible desde la clase GenericItem, no tenemos que ponerlo a mano. Hay que tener en cuenta que hay que anteponerle el id del mod y ":" para que el Minecraft vaya a la carpeta de nuestro mod y no a la suya propia.
Una vez creado este método hay que llamarlo en nuestro método init de la clase base, pero solo desde el lado cliente:
ModeloItemEn los objetos solo necesitamos un .json con el mismo nombre que el mismo dentro de la carpeta models/item. Además, este es prácticamente idéntico para todos los objetos, solo habría que cambiar el nombre del objeto en la textura y el nombre del propio archivo.
En parent le indicamos que no tiene padre, que este archivo define completamente el funcionamiento.
Las siguientes tres líneas son la ruta a la textura.
Por último viene como se va a ver en tercera persona y en primera persona. Como esta parte está sacada tal cual de los del Minecraft, aquí os la dejo:
"display": {
"thirdperson": {
"rotation": [ -90, 0, 0 ],
"translation": [ 0, 1, -3 ],
"scale": [ 0.55, 0.55, 0.55 ]
},
"firstperson": {
"rotation": [ 0, -135, 25 ],
"translation": [ 0, 4, 2 ],
"scale": [ 1.7, 1.7, 1.7 ]
}
}
Con esto ya tenemos el objeto completamente creado. Como véis, es mucho más sencillo que los bloques.
Linkback: https://minecraftmin.net/index.php?topic=14601.0