Kit de développement pour modding Minecraft 1.8.9 avec Forge

Développer un mod Minecraft 1.8.9 avec MinecraftForge nécessite un environnement très précis : une version de Java spécifique, le bon MDK Forge, et un IDE capable de comprendre Gradle. Les erreurs de configuration sont la cause n° 1 des problèmes en début de projet.

Quelle version de Java ?

Pour Minecraft 1.8.9, utilisez Java 8 (JDK 8). Ni Java 7 (trop ancien), ni Java 11+ (incompatibilités avec le classloader Forge de l'époque).

Distribution recommandée : Eclipse Temurin 8 (ex-AdoptOpenJDK), gratuit et encore maintenu.

java -version
# openjdk version "1.8.0_422"

Télécharger le MDK Forge

  1. Allez sur files.minecraftforge.net/1.8.9.
  2. Téléchargez le Mdk (Mod Development Kit) recommandé, pas le fichier Installer.
  3. Décompressez-le dans un dossier dédié (MyMod/).

Générer les sources Minecraft

Dans le dossier du MDK, exécutez :

./gradlew setupDecompWorkspace
./gradlew build

La première commande télécharge Minecraft, applique les patches Forge et décompile le code. Compte quelques minutes.

Configurer IntelliJ IDEA

  1. Générez les fichiers du projet IntelliJ : ./gradlew idea
  2. Ouvrez le .ipr généré dans IntelliJ.
  3. Menu File → Project Structure → Project SDK : sélectionnez JDK 8.
  4. Menu File → Project Structure → Project language level : 8 (Lambdas, type annotations, etc.).

Pour lancer Minecraft avec votre mod : créez une configuration Run → Application → Main class GradleStart, classpath du module du mod. Forge a généralement déjà une config prête nommée Minecraft Client.

Premier mod minimal

Créez src/main/java/com/example/examplemod/ExampleMod.java :

package com.example.examplemod;

import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;

@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION, name = "Example Mod")
public class ExampleMod {
    public static final String MODID = "examplemod";
    public static final String VERSION = "1.0";

    @EventHandler
    public void init(FMLInitializationEvent event) {
        System.out.println("[ExampleMod] Chargé");
    }
}

Lancez la configuration Minecraft Client. Dans la console, vous verrez [ExampleMod] Chargé au lancement.

Construire le JAR distribuable

./gradlew build

Le JAR de votre mod apparaît dans build/libs/. Placez-le dans .minecraft/mods/ d'un client Minecraft 1.8.9 + Forge et il sera chargé.

Erreurs courantes

  • Could not find method forgeGradle() : Gradle trop récent. Minecraft 1.8.9 demande Gradle 2.x. Utilisez le wrapper ./gradlew fourni dans le MDK — il embarque la bonne version.
  • Java version mismatch : assurez-vous que JAVA_HOME pointe vers un JDK 8. Si vous avez plusieurs JDK, forcez :
    ./gradlew -Dorg.gradle.java.home=/chemin/vers/jdk8 setupDecompWorkspace
  • Dépendances Maven Central inaccessibles : certains liens vers les anciens artefacts Forge ont migré. Modifiez build.gradle pour pointer vers les dépôts actuels (https://maven.minecraftforge.net/).

Les versions modernes de Minecraft (1.20+) ont un workflow très différent (Forge / NeoForge + FML récent). Le modding 1.8.9 reste une référence pour les serveurs PvP et Hypixel, mais n'est plus l'écosystème le plus dynamique.