Usando Complementos MCP

Advertencia

These docs were written for SpongeAPI 7 and are likely out of date. If you feel like you can help update them, please submit a PR!

ForgeGradle es un complemento Gradle que integra el flujo de trabajo MCP en la construcción de sistema Gradle. Maneja la configuración del área de trabajo, así como la re-ofuscación de tu complemento.

Nota

Ya que ForgeGradle depende de Gradle, las siguientes paginas asumen que estas usando Gradle para construir tu complemento. Ve Configuración de Gradle para iniciarte.

Configurando ForgeGradle

Puedes elegir entre dos ares de trabajo diferentes:

  • Área de trabajo Vanilla: Soporta complementos para SpongeVanilla y SpongeForge.

  • Área de trabajo Forge: Soporta solo complementos para SpongeForge (y no SpongeVanilla).

Nota

En la mayoría de los casos, el espacio de trabajo de Vanilla se puede utilizar para SpongeVanilla y SpongeForge. En algunos casos, puede haber problemas en una de las plataformas debido a cambios en el código de Minecraft por parte de Forge. Asegúrate de probar siempre tu complemento en ambas plataformas cuando uses MCP.

Choosing an MCP mappings version

To setup an MCP workspace you need to specify the MCP mappings version that will be used to de-obfuscate the Minecraft source with human-readable names. A list of MCP mappings versions is available on the Export page of the MCPBot.

Existen versiones estables (que se lanzan de vez en cuando) e instantáneas diarias que contienen los últimos cambios de nombre. Si no necesitas un nombre específico que se agregó recientemente, usa una versión estable (si está disponible para tu versión de Minecraft), de lo contrario, usa la última versión instantánea.

Click the button for the version you want to use and select «Use in ForgeGradle». Then copy the provided version to your Gradle build script (insert it in the YOUR_MAPPINGS_VERSION placeholder below).

Area de Trabajo Vanilla

buildscript {
    repositories {
        maven {
            name = 'forge'
            url = 'https://files.minecraftforge.net/maven'
        }
    }

    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
    }
}

plugins {
    id 'org.spongepowered.plugin' version '0.9.0'
    id 'net.minecrell.vanillagradle.server' version '2.2-6'
}

dependencies {
    compile 'org.spongepowered:spongeapi:7.1.0'
}

minecraft {
    version = '1.12.2'
    // TODO: Replace with your mappings version, e.g. stable_39 or snapshot_20180814
    mappings = 'YOUR_MAPPINGS_VERSION'
}

Área de Trabajo Forge

buildscript {
    repositories {
        maven {
            name = 'forge'
            url = 'https://files.minecraftforge.net/maven'
        }
    }

    dependencies {
        classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
    }
}

plugins {
    id 'org.spongepowered.plugin' version '0.9.0'
}

dependencies {
    compile 'org.spongepowered:spongeapi:7.1.0'
}

apply plugin: 'net.minecraftforge.gradle.forge'

minecraft {
    // TODO: Configure Forge build here
    forgeVersion = '2705'
    // TODO: Replace with your mappings version, e.g. stable_39 or snapshot_20180814
    mappings = 'YOUR_MAPPINGS_VERSION'
}

It is recommended to use the same Forge version as used by the SpongeForge build you are going to use.

Nota

Make sure you use a version that corresponds to your Minecraft version. Using a wrong version will probably cause inexplicable exceptions during the preparation of the workspace or during development. See also Getting the Minecraft Version from Implementations.

Configurando el Área de Trabajo

Cada vez que actualices las versiones de Minecraft o de mapeos, o desees volver a importar tu proyecto, debes comenzar con la configuración de tu espacio de trabajo con Gradle. Para hacerlo, ejecuta la tarea `` setupDecompWorkspace`` Gradle de tu proyecto, antes de importar el proyecto a tu IDE:

gradle setupDecompWorkspace

Ahora puedes importar tu proyecto Gradle, como se describe en ../ project / gradle. Si tu proyecto ya se ha importado, asegúrate de actualizar la configuración de Gradle para que tu IDE pueda registrar la nueva dependencia de Minecraft.

Construyendo Tu Complemento

ForgeGradle configura automáticamente su complemento para volver a ofuscar las asignaciones de Searge al compilarlo para que pueda ejecutarlo en producción. Asegúrate de usar la tarea build de Gradle, y no jar directamente.

gradle clean build