- 1 general
- 2 Primeros pasos con Forge
- 2.1 Una nota sobre los marcadores de posición
- 2.2 1. Crea una carpeta para tu proyecto
- 2.3 2. Obtener una "distribución de fuentes"
- 2.4 3. Copie los archivos clave a la carpeta de su proyecto
- 2.5 3½. Una nota sobre las asignaciones
- 2.6 4. Importar el proyecto gradle
- 2.7 5. Designar el JDK
- 2.8 6. Configurar el espacio de trabajo
- 2.9 7. Configurar los ajustes de ejecución
- 3 Creando un mod para Forge
- 3.1 Identificación de su mod
- 3.2 Configuración del registro de artículos
- 3.3 Creación de una herramienta personalizada
- 3.4 Creación de una mafia personalizada
- 3.4.1 Modelos desde cero
- 3.5 Creación de un archivo de configuración
- 3.6 Compartiendo tu Mod
- 4 Lecturas adicionales
- 5 Información adicional
- 6
Visión General
Los mods (abreviatura de 'modificaciones') pueden modificar o agregar elementos, bloques, entidades y mucho más. Presumiblemente, ya tiene una idea para un mod que desea crear. Si simplemente desea agregar avances personalizados, funciones, tablas de botín, estructuras, recetas o etiquetas a su juego, averigüe cómo hacer un paquete de datos, que no requiere programación. O averigüe cómo hacer un paquete de recursos si simplemente desea personalizar texturas (colores y diseños), modelos, música, sonidos, idiomas, salpicaduras, fuentes o el poema final. O tal vez desee 'bifurcar' un mod favorito para actualizar a las versiones más nuevas de Minecraft. En cualquier caso, esta guía finalmente cubra solo los elementos más básicos de la creación de un elemento y la creación de una entidad (una cosa en movimiento como un aldeano, una oveja, un zombi, etc.) y la distribución del paquete de modificación resultante.
Los mods de Minecraft consisten en archivos jar (ejemplo: yournewmod.jar) que contienen archivos de clase, archivos JSON y archivos de imagen, por nombrar algunos de los más comunes.
- Los archivos de clase son específicos del lenguaje de programación Java. Algunos tutoriales de Java para probar son w3schools (web y móvil), SoloLearn (web y móvil) y kodevelopment (web). Necesitará un IDE (entorno de desarrollo integrado) como IntelliJ o Eclipse para leer o crear archivos de clase. Este tutorial se centrará en IntelliJ IDEA Community Edition 2019.
- Los archivos JSON son un medio para detallar las características de los objetos utilizados por los archivos de clases de Java. JSON es mucho más simple que Java. Necesitará un editor de texto como Notepad ++, Vim o Emacs para leer o crear archivos JSON. Probablemente ya tenga un editor de texto básico en su computadora, pero hay muchas ventajas de usar otros en su lugar.
- Los archivos de imagen con los que puede estar familiarizado incluyen los formatos .bmp y .jpg, pero Minecraft requiere el formato .png (ejemplo: yournewlogo.png) en múltiplos de 16 píxeles cuadrados (ejemplo: 16x16, 32x32, 64x64). Necesitará un editor de imágenes como Paint.NET o GIMP para editar o crear archivos .png. Probablemente ya tenga MS Paint en su computadora, pero GIMP tiene mucha más funcionalidad y Paint.NET es bastante fácil de usar. También hay varios sitios web con herramientas para crear pixel art.
Si has estado jugando Minecraft Java Edition, probablemente ya lo hayas hecho. JRE (Entorno de ejecución de Java). Para desarrollar un mod, necesitará encontrar JDK (Java Development Kit), que incluye el JRE y un emulador. Cree una cuenta gratuita en oracle.com y descargue JDK Standard Edition versión 8. Luego, siga las instrucciones para instalarlo y anote la ubicación en la que se instala. Preste especial atención a la sección sobre Actualización de la variable de entorno PATH.
Con un Java Development Kit instalado y el IntelliJ Integrated Development Environment para manipular Java, ahora tiene las herramientas para desarrollar software personalizado que se puede utilizar en una variedad de aplicaciones. Mientras trabaja en un mod, continúe trabajando con los tutoriales de Java. Las lecciones le permitirán poner sus ideas en acción, mientras que las ideas harán que las lecciones sean más interesantes y memorables.
Una herramienta más que debe configurar antes de iniciar un mod es Forge MDK (Mod Development Kit). Forge es una colección de recursos útiles y cargador de mods, diseñado específicamente para simplificar la compatibilidad entre Minecraft Java Edition y múltiples mods creados por la comunidad. Este tutorial se centrará en MDK para la versión 1.12.2 de Minecraft Java Edition, aunque Forge para 1.14.4 existe desde hace algún tiempo. Una alternativa a Forge es Fabric, pero Java todavía se usa para codificar mods de cualquier manera.
Cosas que no debes hacer
Hay algunas cosas que debe tener cuidado de no hacer al crear un mod. Tenga en cuenta esta lista:
- No hagas nada que viole los términos de uso de Minecraft de Mojang Studios.
- No publique versiones o modificaciones de Minecraft que le permitan jugar sin haber comprado Minecraft en Mojang Studios.
- No publiques el código fuente descompilado de Minecraft de ninguna manera.
- No modifiques los mods existentes sin el permiso del autor de ese mod. Verifique su licencia, generalmente disponible en el repositorio de GitHub del autor. Si no puede encontrar la licencia, entonces no tiene permiso para compartir una versión modificada con nadie. Puede jugar con los archivos solo para uso personal.
Primeros pasos con Forge
Este artículo de la página web tiene como objetivo proporcionar un recorrido infalible de algunos elementos clave del tutorial de Forge: https://mcforge.readthedocs.io. Marque su página, ya que aborda muchos problemas que este artículo no abordará. Además, hay más de una forma válida de lograr el resultado deseado; este artículo de la página web se centrará en lo más simple, que probablemente no sea el más eficiente o elegante. Si sigue con precisión los pasos descritos aquí, pronto debería tener un mod funcional, con el que luego puede jugar al contenido de su corazón. Si usa Linux, el tutorial de Forge probablemente le resulte más útil. Si usa Windows, siga leyendo.
Una nota sobre los marcadores de posición
Este tutorial utilizará "Usted" para representar el perfil de usuario con el que inició sesión; Si copia y pega las rutas de este tutorial, asegúrese de reemplazar "Usted" con su propio nombre de usuario de Windows. Este tutorial utilizará "yournewmod" para representar las secciones que debe reemplazar con el nombre de mod que elija para su proyecto.
1. Crea una carpeta para tu proyecto.
Navegue a C: / Users / You / Documents y cree una nueva carpeta. El nombre de esta carpeta se puede cambiar fácilmente más tarde.
2. Obtenga una "distribución de origen"
Visite https://files.minecraftforge.net y asegúrese de que la versión seleccionada sea la versión para la que desea crear un mod. En el cuadro grande "Descarga recomendada", haga clic en el cuadro pequeño MDK. Aparecerá un cuadro de diálogo que le preguntará dónde desea guardar el archivo y con qué nombre. Elija cualquier ubicación conveniente, pero deje el nombre sin cambios.
3. Copie los archivos clave a la carpeta de su proyecto
Abra la carpeta forge-1.16.5 -...- mdk (con o sin descomprimirla primero) y copie y pegue los siguientes 5 archivos de esta carpeta [se necesita más información] en la carpeta del proyecto que creó en el primer paso:
- la carpeta src
- la carpeta gradle
- gradlew
- gradlew.bat
- build.gradle
3½. Una nota sobre las asignaciones
Hay dos conjuntos diferentes de asignaciones disponibles para nombres de métodos: asignaciones "MCP" basadas en la comunidad y asignaciones "oficiales" basadas en parte en los mapas oficiales de ofuscación (aunque los nombres de las clases son diferentes por razones técnicas). El valor predeterminado en MDK se ha cambiado recientemente a 'oficial', pero este tutorial utilizará las asignaciones de MCP por ahora porque los nombres de los parámetros de función no están disponibles en las asignaciones oficiales.
Cambie la siguiente línea en build.gradle línea 34
canal de asignaciones: 'oficial', versión: '1.16.5'a
canal de asignaciones: 'instantánea', versión: '20210309-1.16.5'En la línea 51 de ExampleMod.java, cambie las opciones a gameSettings (o simplemente comente o elimine la línea)
4. Importa el proyecto gradle
Abra / ejecute el programa IntelliJ IDEA. En la pantalla de inicio, haga clic en Abrir. Aparecerá un cuadro de diálogo que le preguntará qué archivo importar. Navega a la carpeta de tu proyecto y selecciona "build.Gradle", luego haz clic en OK.
5. Designar el JDK
En la siguiente ventana, haga clic en el campo "Gradle JVM" y navegue hasta los archivos JDK que instaló anteriormente. Si tiene la actualización 8 de la versión 282, seleccione la carpeta llamada "jdk1.8.0_282". Haga clic en Aceptar y espere a que finalice la compilación, mostrando los resultados en el campo inferior.
[TODO: No obtuve otra ventana, necesito verificar qué sucede en una nueva instalación de IDEA]
[Nota: Confirmando que en IntelliJ IDEA 2021.1.2 no aparece la ventana, lo más probable es que detecte el propio JDK, por lo que solo aparecerá si no pudo ubicar el JDK apropiado]
6. Configurar el espacio de trabajo
No es necesario instalar dependencias. Vaya al siguiente paso ya que no se necesita una nueva actualización en la configuración del comando ForgeDecompWorkspace
7. Configure los ajustes de ejecución
Después de actualizar gradle, abra el panel de gradle y haga doble clic en la entrada "genIntellijRuns" en la carpeta "fg_runs". Esto creará nuevas configuraciones de ejecución que permitirán ejecutar su mod. A continuación, abra la ventana "Editar configuraciones" de Configuración de ejecución y busque aproximadamente en la mitad de la ventana para "Usar classpath del módulo". Haga clic en su campo desplegable y seleccione la opción que termina con .main, luego haga clic en Aplicar. Si la configuración que acaba de terminar de editar era para el cliente de Minecraft, haga clic en servidor de Minecraft y repita los pasos para establecer la ruta de clase. [TODO: ¿Es esto más necesario? Ya estaba configurado]
Ahora puede seleccionar y ejecutar runClient en el menú desplegable de configuración de ejecución. Esto iniciará el Lanzador con su mod incluido. Cuando llegue al menú de aterrizaje, puede verificar si su mod está presente.
Creando un mod para Forge
Identificando tu mod
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.El proyecto entregado con MDK se llama "examplemod" con el nombre de paquete "com.example.examplemod". Deberá cambiar el nombre de esto a sus propios nombres en los siguientes lugares: cambie el nombre de los archivos de clase - build.gradle - META-INF / mods.toml
Los nombres de los paquetes deben basarse en un nombre de dominio en orden inverso, o en un nombre que no sea un nombre de dominio válido si no posee un nombre de dominio.
[TODO instrucciones más claras, configure la variable MODID]
Configurar el registro de artículos
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.Puedes crear una clase para poner tus definiciones. Aquí lo llamamos RegistryHandler, aunque algunos mods tienen clases separadas para cada tipo de objeto llamado ModItems, ModBlocks, etc; y, en teoría, podría agregarlo a la clase principal. Tener al menos un archivo de clase (o, idealmente, un paquete) para colocar registros sin ningún código no relacionado con el registro proporciona una mejor organización para cuando expanda su mod.
paquete com.example.examplemod; import net.minecraft.item.Item; import net.minecraft.item.ItemGroup; importar net.minecraftforge.fml.RegistryObject; importar net.minecraftforge.registries.DeferredRegister; importar net.minecraftforge.registries.ForgeRegistries; Public class RegistryHandler {Public static final DeferredRegister ARTÍCULOS = DeferredRegister.create (ForgeRegistries.ITEMS, ExampleMod.MODID); }En su clase principal, configúrelo para que se llame automáticamente en el momento apropiado, en el constructor público ExampleMod ():
RegistryHandler.ITEMS.register (FMLJavaModLoadingContext.get (). GetModEventBus ());Crear una herramienta personalizada
Hagamos una lanza simple, con una capacidad de daño similar a una espada de piedra.
Entonces, para comenzar, necesitamos crear un nuevo directorio llamado herramientas en su paquete. A continuación, cree una nueva enumeración de Java llamada ModItemTier. En este archivo, debe escribir una variante de lo siguiente:
paquete com.example.examplemod; import mcp.MethodsReturnNonnullByDefault; importar net.minecraft.item.IItemTier; importar net.minecraft.item.Items; importar net.minecraft.item.crafting.Ingredient; import java.util.function.Supplier; @MethodsReturnNonnullByDefault public enum ModItemTier implementa IItemTier {CUSTOMNAMEHERE (1, 131, 4.0F, 3.0F, 5, () -> Ingredient.fromItems (Items.FLINT)); Proveedor final privado material de reparación; encantabilidad int final privada; ataque flotante final privado Daño; eficiencia de flotación final privada; private final int maxUses; private final int harvestLevel; ModItemTier (int harvestLevel, int maxUses, eficiencia de flotación, daño de ataque de flotación, encantabilidad int, Proveedor material de reparación) {este nivel de cosecha = nivel de cosecha; this.maxUses = maxUses; this.efficiency = eficiencia; this.attackDamage = attackDamage; this.enchantability = encantabilidad; this.repairmaterial = repairmaterial; } @Override public int getMaxUses () {return this.maxUses; } @Override public float getEfficiency () {return this.efficiency; } @Override public float getAttackDamage () {return this.attackDamage; } @Override public int getHarvestLevel () {return this.harvestLevel; } @Override public int getEnchantability () {return this.enchantability; } @Override public Ingredient getRepairMaterial () {return this.repairmaterial.get (); }}A continuación, debe registrar su artículo. Vaya a la clase de registro de su artículo [?] Y cree un nuevo artículo como el que se muestra aquí:
RegistryObject final estático público NAME_SPEAR = ITEMS.register ("name_spear", () -> nuevo SwordItem (ModItemTier.CUSTOMNAMEHERE, 5, -2.8f, (nuevo Item.Properties ()). Tab (ItemGroup.TAB_COMBAT)));.
Los números son el daño de ataque base [agregado al daño establecido en ItemTier] y el modificador de velocidad, los valores elegidos para el ejemplo son intermedios entre una espada y un hacha.
Después de esto, debe crear un archivo JSON en src / main / resources / assets / examplemod / models / item llamado lo que configuró anteriormente, así:
{"parent": "item / handheld", "textures": {"layer0": "examplemod: item / name_spear"}}Luego, vaya a su carpeta de texturas e ingrese la textura que hará en el siguiente paso. Si quieres saber más sobre durabilidad te recomiendo esta página.
Capas personalizadas sobre texturas vainilla
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.Texturas desde cero
Abra un editor de imágenes, preferiblemente uno que admita transparencia, y cree una nueva imagen, con un tamaño que sea múltiplo de 16x16 (por ejemplo, 32x32, 64x64, etc.)
Creando un lienzo de 32x32 píxeles en GIMP
Este ejemplo usa una imagen de 32x32 píxeles y está hecho en GIMP.
Cree su archivo, asegurándose de que esté en píxeles y no en pulgadas, milímetros o cualquier otra medida.
Cree una nueva capa y elimine el lienzo original. Si no lo hace, su imagen tendrá un fondo blanco.
Con un pincel de 1x1 píxeles, comience a dibujar su artículo. Asegúrese de usar capas separadas para partes separadas del elemento para permitir que los cambios sean más fáciles.
Cuando haya terminado de crear su arte, presione archivo para guardar. Si está utilizando GIMP u otro editor avanzado, no se guardará como .png. Para GIMP, se guarda como .xcf.
Con la lanza lista, presione archivo y luego guarde. Tenga en cuenta la falta de blanco en el fondo y, en cambio, el fondo .png en blanco.
Navega hasta el menú desplegable de exportación o presiona ctrl + e en Windows o ⌘ + E para macOS. Esto es para exportar el archivo. Asegúrese de exportar como .png, no como .jpg o cualquier otra extensión de archivo. Si no está guardado como .png, tendrá un fondo blanco y no se verá correcto.
Exportando el arte de la lanza de piedra al escritorio. Tenga en cuenta que se exporta como .png. Ciertas partes censuradas por privacidad.
Si está siguiendo este tutorial y desea utilizar esta imagen, puede descargar este pixel art terminado aquí.
Crear una mafia personalizada
Modelos de Scratch
La mejor manera de modelar mobs es probablemente blockbench (sitio web de blockbench). Blockbench es una herramienta de modelado gratuita, y sería mucho más rápido y fácil que tomar el otro enfoque, que es lento. Si desea modelar con él, simplemente haga un cubo, colóquelo, gírelo, dimensione y haga su modelo de la manera que desee. Si necesita más cubos, puede hacer uno nuevo fácilmente. Este es probablemente el mejor método para esto. Es rápido, fácil y personalizable.
Crear un archivo de configuración
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.Compartiendo tu Mod
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.Para construir su mod, ejecute gradlew build o ./gradlew build para macOS. Esto generará un archivo en build / libs con el nombre [archivesBaseName] - [versión] .jar. Este archivo se puede colocar en la carpeta de modificaciones de una configuración de Minecraft habilitada para forjar y distribuir. Entonces puedes subir tu mod a CurseForge
Para leer más
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.https://mcforge.readthedocs.io/en/latest/gettingstarted/
Información adicional
Esta sección es un trabajo en progreso. Ayude en la expansión o creación de este artículo expandiéndolo o mejorándolo. La página de discusión puede contener sugerencias.Recomendado:
- crea una cuenta de GitHub para administrar versiones de tu mod y colaborar con otros desarrolladores.
- tutoriales adicionales (en forma de video, para la versión 1.15.2)
- Tutoriales / Carga de un paquete de recursos
- Tutoriales / Creación de un paquete de recursos
- Tutoriales / Instalación de un paquete de datos
- Tutoriales / Creación de un paquete de datos
Tutoriales | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Introductorio |
| ||||||||||||
General |
| ||||||||||||
Desafíos |
| ||||||||||||
Construcciones |
| ||||||||||||
Sostenible |
| ||||||||||||
Encantador y fundición |
| ||||||||||||
Rompiendo bloques |
| ||||||||||||
Mecanismos |
| ||||||||||||
Servidores |
| ||||||||||||
Apoyo técnico |
| ||||||||||||
Anticuado |
|