En esta guia de múltiples partes os voy a enseñar a programar un mod del minecraft 1.8.9 con Forge y Eclipse desde cero.
Consideraciones previas- Para el correcto entendimiento de la guía es necesario tener un nivel bajo-medio de Java y conocer la programación orientada a objetos, las clases y la herencia.
- A diferencia de otras guías, el resultado de seguir esta no dará como resultado una clase específica para un bloque, objeto, etc. tiene como intención crear un conjunto de clases genéricas con las que poder crear todos esos bloques, objetos, etc de forma rápida y con un par de líneas de código.
- La mejor forma de aprender y entender el código es hacerlo, por lo que en ningún momento subiré el código para descargar, simplemente iré mostrando pantallazos del código para que podáis escribirlo y adaptarlo, si fuese necesario, a vuestro mod en concreto.
- En caso de no entender algo, podéis preguntar en el mismo tema del que se tiene dudas. Evitad mensajes privados, vuestra duda puede ser común y ayudar a otros.
- Aunque hay cosas que son comunes entre versiones, la guía está pensada para crear un mod en Minecraft 1.8.9, puede haber variaciones con respecto a otras versiones o incluso cosas radicalmente distintas.
- Durante el tutorial usaré Eclipse Mars, algún botón o pestaña puede que no sea igual si usáis otra versión, pero para el caso es indiferente, no afecta en nada.
- La guía está pensada para Windows.
- Aunque no es obligatorio, es recomendable tener instalado el Notepad++ para crear archivos como los .JSON o los .lang de forma más cómoda.
Preparar el entorno de trabajoAntes de empezar a programar hay que preparar Eclipse y los archivos de Forge, así que iremos paso a paso.
1.- Instalar jdk JavaPrimero hay que instalar el jdk de Java (Java Developer Kit) que es distinto al típico Java que se instala para jugar a Minecraft, por ejemplo. Para ello se accede a la
página de descarga de jdk Java, se marca el "Accept License Agreement" y se descargan los jdk de windows x86 y x64.
Una vez descargados se instalan uno por uno, el orden es indiferente pero solo se puede abrir uno de cada vez.
2.- Establecer la variable de entorno JAVA_HOMEEl segundo punto importante es establecer la variable JAVA_HOME para que el Eclipse y el Forge puedan usar Java.
Para ello hay que entrar en la propiedades del equipo dándole con el botón secundario en el icono de mi pc o mi equipo (dependiendo de la versión del sistema operativo) y propiedades. Una vez en las propiedades, hay que entrar en la configuración avanzda del sistema en el menú de la izquierda y luego en el botón de variables de entorno.
Una vez dentro, se añade una nueva variable, da igual si es en el usuario (recuadro de arriba) o en todo el equipo (recuadro de abajo) con nombre JAVA_HOME y como valor la ruta del Java jdk x64 que por defecto es C:\Program Files\Java\jdk1.8.0_121 (el 1.8.0_121 varía en función de la versión). Tras aceptar, estará todo preparado para instalar Eclipse.
3.- Instalar EclipseEste paso es relativamente sencillo, tan solo hay que acceder a la
página de descargas de Eclipse, descargar la última versión del instalador e instalar el Java IDE siguiendo los pasos.
4.- Instalar ForgeLo primero es descargarse el mdk Forge (Mod Developer Kit) de la
página de descarga de Forge es indiferente descargar la última (latest) o la recomendada (recommended), pero es importante fijarse en que se descarga el mdk.
Una vez descargado, se descomprime en una carpeta creada previamente para ello.
Una vez hecho esto hay que abrir una consola de comandos haciendo clic con el botón secundario a la vez que se presiona shift y seleccionando abrir consola de comandos aquí. Una vez abierta, se introduce el siguiente comando para crear el entorno:
gradlew setupDecompWorkspace
Paciencia, puede tardar varios minutos.
Una vez termina, se introduce el siguiente comando para crear el proyecto Eclipse:
gradlew eclipse
5.- Abrir el proyecto con EclipseEl último paso es abrir el Eclipse y seleccionar como entorno de trabajo (workspace) la carpeta eclipse dentro de esa carpeta donde está el Forge.
ÍndiceI.- Clase base y archivos de inicioII.- Boque genérico (GenericBlock.java) III.- Añadir un bloque. Registro y modeladoIV.- Objeto genérico (GenericItem.java)V.- Añadir un objeto básico. Registro y modeladoVI.- Utilidades I. Registro y renderizado automático de bloques y objetos.VII.- Archivos de lenguaje, recetas, cocinar/fundir y OreDictionaryVIII.- Pestañas de creativoIX.- Generador de mundo (GenericWorldGenerator.java) y añadir un mineral al mundo (OreGenerator.java)X.- Añadir objetos a los cofres de las estructuras.XI.- Bloque translúcido (GenericBlockTranslucent.java)XII.- Bloque que suelta objeto al minarlo (GenericBlockDrop.java)XIII.- Herramientas, espadas, interfaz de herramientas (IGenericTool.java) y materiales.XIV.- Tile entities I. Tile entity genérica (GenericTileEntity.java) (*Próximamente*)
XV.- Tile entities II. Bloque contenedor de tile entity (GenericBlockContainer.java) (*Próximamente*)
XVI.- Tile entities III. Tile entity con inventario (GenericTileEntityInventory.java) (*Próximamente*)
XVII- Tile entities IV. Tile entity procesadora (GenericTileEntityProcess.java) (*Próximamente*)
XVIII.- Tile entities V. Tile entity horno (GenericTileEntityFurnace.java) (*Próximamente*)
XIX.- GUI I. Manejador de interfaces de usuario (GUIHandler.java) (*Próximamente*)
XX.- GUI II. Contenedor de GUI servidor (GenericContainer.java [No confundir con el GenericBlockContainer]) (*Próximamente*)
XXI.- GUI III. Contenedor de GUI cliente (GenericGUIContainer.java [No confundir con el GenericBlockContainer o con GenericContainer]) (*Próximamente*)
XXII.- GUI IV. GUI sin inventario (GenericGUIScreen.java) (*Próximamente*)
(...)
Linkback: https://minecraftmin.net/index.php?topic=14508.0