Menggunakan MCP di Plugin

ForgeGradle adalah plugin Gradle yang mengintegrasikan alur kerja MCP ke dalam sistem pembuatan Gradle. Ini menangani pengaturan ruang kerja, serta pengaburan kembali plugin Anda.

Catatan

Sejak ForgeGradle tergantung pada Gradle, halaman berikut menganggap Anda menggunakan Gradle untuk membuat plugin Anda. lihat ../projek/gradle untuk memulai.

Mengkonfigurasi ForgeGradle

Anda dapat memilih antara dua jenis ruang kerja yang berbeda:

  • Ruang kerja vanila: Mendukung plugin untuk SpongeVanilla dan SpongeForge.

  • Tempatkan ruang kerja: Mendukung hanya plugin untuk SpongeForge (dan tidak SpongeVanilla).

Catatan

Umumnya, Ruang kerja Vanilla bisa digunakan SpongeVanilla dan SpongeForge. Dalam beberapa kasus, mungkin ada masalah pada salah satu platform karena perubahan kode Minecraft oleh Forge. Pastikan selalu test anda plugin pada kedua platform saat menggunakan 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.

Ada versi yang stabil (dilepaskan dari waktu ke waktu) dan foto harian yang berisi perubahan nama terbaru. Jika Anda tidak memerlukan nama khusus yang ditambahkan baru-baru ini, gunakan versi stabil (jika tersedia untuk versi Minecraft Anda), jika tidak gunakan versi snapshot terbaru.

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).

Ruang kerja vanila

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'
}

Ruang kerja 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.

Catatan

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.

Menyiapkan Ruang kerja

Setiap kali Anda memperbarui versi Minecraft atau pemetaan, atau ingin mengimpor ulang proyek Anda, Anda perlu mulai dengan menyiapkan ruang kerja Anda menggunakan Gradle. Untuk melakukan itu, jalankan setupDecompWorkspace Tugas Gradle proyek Anda, sebelum mengimpor proyek ke IDE Anda:

gradle setupDecompWorkspace

Sekarang Anda bisa mengimpor proyek Gradle Anda, seperti dijelaskan di ../projek/gradle. Jika proyek Anda sudah diimpor, pastikan untuk menyegarkan konfigurasi Gradle sehingga IDE Anda dapat mendaftarkan ketergantungan Minecraft yang baru.

Membangun Plugin Anda

ForgeGradle secara otomatis mengonfigurasi plugin Anda untuk kembali mengaburkan kepada pemetaan Searge saat membangunnya sehingga Anda bisa menjalankannya dalam produksi. Pastikan untuk menggunakan Gradle's membangun tugas, dan tidak botol langsung.

gradle clean build