[JAVA] Construction de l'environnement de développement de Minecraft Mod (IntelliJ IDEA + Minecraft Forge 1.15.2) + Création de Hello World Mod

Aperçu

--Créez un environnement de développement Minecraft Mod sur IntelliJ IDEA et créez un simple Hello World Mod

environnement

Créer un environnement de développement sur IntelliJ IDEA

Installation de Java 8

Java 11 ou version ultérieure n'est pas pris en charge dans cet environnement de développement, c'est pourquoi Java 8 doit être installé à l'avance.

Référence: Installer Java 8 \ (OpenJDK: AdoptOpenJDK ) sur macOS avec Homebrew \ -Qiita

Télécharger Mdk (Mod Development Kit)

Téléchargez Mdk (Mod Development Kit) de Minecraft Forge 1.15.2-31.1.0, qui est l'environnement actuellement recommandé (au 16 février 2020), à partir de Minecraft Forge. Faire.

minecraft-forge-01.png

Extrayez la forge téléchargée-1.15.2-31.1.0-mdk.zip.

$ unzip forge-1.15.2-31.1.0-mdk.zip 
Archive:  forge-1.15.2-31.1.0-mdk.zip
  inflating: gradlew                 
  inflating: gradlew.bat             
  inflating: CREDITS.txt             
  inflating: LICENSE.txt             
  inflating: changelog.txt           
   creating: gradle/
   creating: gradle/wrapper/
  inflating: gradle/wrapper/gradle-wrapper.properties  
  inflating: gradle/wrapper/gradle-wrapper.jar  
  inflating: .gitignore              
   creating: src/
   creating: src/main/
   creating: src/main/java/
   creating: src/main/java/com/
   creating: src/main/java/com/example/
   creating: src/main/java/com/example/examplemod/
  inflating: src/main/java/com/example/examplemod/ExampleMod.java  
   creating: src/main/resources/
  inflating: src/main/resources/pack.mcmeta  
   creating: src/main/resources/META-INF/
  inflating: src/main/resources/META-INF/mods.toml  
  inflating: build.gradle            
  inflating: README.txt              
  inflating: gradle.properties       

README.txt a des instructions sur la façon de le configurer.

If you prefer to use IntelliJ:

  1. Open IDEA, and import project.
  2. Select your build.gradle file and have it import.
  3. Run the following command: "gradlew genIntellijRuns" (./gradlew genIntellijRuns if you are on Mac/Linux)
  4. Refresh the Gradle Project in IDEA if required.

Référence: MinecraftForge / mdk at 1 \ .15 \ .x · MinecraftForge / MinecraftForge · GitHub

Importer un projet avec IntelliJ IDEA

Créez un projet en spécifiant le dossier extrait par Import Project avec IntelliJ IDEA.

minecraft-forge-02.png

Si le message suivant s'affiche, la version Java appropriée n'a pas été définie.

> Failed to apply plugin [id 'net.minecraftforge.gradle']
   > Found java version null. Minimum required is 1.8.0_101. Versions 11.0.0 and newer are not supported yet.

Paramètres IntelliJ Préférences> Construction, exécution, déploiement> Outils de construction> Gradle> Gradle JVM requiert Java 8 ou version ultérieure pour être spécifié.

./gradlew genIntellijRuns

Exécutez ./gradlew genIntellijRuns, par exemple dans le terminal IntelliJ IDEA.

$ ./gradlew genIntellijRuns

Puisque Java 8 ou version ultérieure est également utilisé ici, définissez-le si nécessaire. Référence: Installer Java 8 \ (OpenJDK: AdoptOpenJDK ) sur macOS avec Homebrew \ -Qiita

Lancez Minecraft Forge pour le développement

Minecraft démarre lorsque vous exécutez Tâches> fg_runs> runClient à partir de la fenêtre de l'outil Gradle dans le coin supérieur droit d'IntelliJ IDEA, ou ./gradlew runClient à partir du terminal, etc.

minecraft-forge-03.png

Si vous cliquez sur "Mods", vous pouvez voir que l'exemple de mod inclus dans Mdk est chargé.

minecraft-forge-04.png

À propos de l'exemple de mod

Mdk inclut le code source de Example Mod comme exemple de développement de Mod.

Liste des codes sources.

Vous pouvez également vérifier le contenu du code source sur MinecraftForge / mdk at 1 \ .15 \ .x · MinecraftForge / MinecraftForge · GitHub Possible.

Créer un mod Hello World

Créez un mod qui réalise un simple Hello World sur l'environnement de développement développé.

Liste des codes sources

src/main/java/com/example/HelloWorldMod.java

Ecrivez une classe Java qui effectue le traitement principal du mod.

package com.example;

import net.minecraft.entity.player.PlayerEntity;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.text.ITextComponent;
import net.minecraft.util.text.StringTextComponent;
import net.minecraftforge.common.MinecraftForge;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.common.Mod;

@Mod("helloworldmod") // META-INF/mods.modId décrit dans toml
public class HelloWorldMod {

  public HelloWorldMod() {
    // MinecraftForge.EVENT_Un objet avec une méthode de gestion des événements gérés par BUS(this)S'inscrire
    MinecraftForge.EVENT_BUS.register(this);
  }

  /**
   *Une méthode de gestionnaire d'événements qui s'exécute lorsque le joueur se connecte.
   *Le nom de la méthode peut être n'importe quoi.
   *
   * @événement param objet PlayerLoggedInEvent
   */
  @SubscribeEvent
  public void onPlayerLoggedIn(PlayerEvent.PlayerLoggedInEvent event) {
    PlayerEntity player = event.getPlayer();
    BlockPos pos = player.getPosition();
    String message =
      "Hello, World!\n"
        + "[name]=[" + player.getName().getFormattedText() + "]\n"
        + "[pos]=[" + pos.getX() + "," + pos.getY() + "," + pos.getZ() + "]";
    ITextComponent text = new StringTextComponent(message);
    player.sendMessage(text);
  }
}

src/main/resources/pack.mcmeta

Fichier de description des informations du pack de ressources. Sans ce fichier, une erreur telle que «Échec du chargement d'un ResourcePackInfo valide» se produira. Seul le contenu minimum est décrit ici.

{
  "pack": {
    "description": "Hello World mod resources",
    "pack_format": 5
  }
}

src/main/resources/META-INF/mods.toml

Fichier de description des informations de mod. Seul le contenu minimum est décrit ici.

modLoader="javafml"
loaderVersion="[31,)"

[[mods]]
modId="helloworldmod"
version="1.2.3"
displayName="Hello World Mod"
description='''
This is the ...
Hello World mod.
'''

build.gradle

Construisez le fichier de configuration pour Gradle. Seul le contenu minimum est décrit ici.

buildscript {
  repositories {
    maven { url = 'https://files.minecraftforge.net/maven' }
    jcenter()
    mavenCentral()
  }
  dependencies {
    classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
  }
}
apply plugin: 'net.minecraftforge.gradle'

version = '1.2.3'
group = 'com.example.helloworld'
archivesBaseName = 'helloworldmod'

sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'

minecraft {
  mappings channel: 'snapshot', version: '20190719-1.14.3'
  runs {
    client {
      workingDirectory project.file('run')
      property 'forge.logging.markers', 'SCAN,REGISTRIES,REGISTRYDUMP'
      property 'forge.logging.console.level', 'debug'
      mods {
        helloworldmod {
          source sourceSets.main
        }
      }
    }
  }
}

dependencies {
  minecraft 'net.minecraftforge:forge:1.15.2-31.1.0'
}

Générer un fichier jar pour la distribution

Exécutez Tasks> build> build à partir de la fenêtre de l'outil Gradle dans le coin supérieur droit d'IntelliJ IDEA, ou exécutez ./gradlew build à partir du terminal, etc.

$ ./gradlew build

Le fichier jar pour la distribution est sorti dans le répertoire build / libs.

$ ls build/libs/
helloworldmod-1.2.3.jar

Exécutez avec Minecraft Forge

Lancez le lanceur standard Minecraft Java Edition Minecraft et configurez la configuration pour Minecraft Forge 1.15.2-31.1.0.

minecraft-forge-05.png

Placez le fichier jar créé dans le répertoire mods du répertoire du jeu avec la configuration que vous avez définie et démarrez Minecraft Forge 1.15.2-31.1.0.

minecraft-forge-08.png

Vous pouvez voir que Hello World Mod est chargé.

minecraft-forge-06.png

Lorsque vous entrez dans le monde, Hello World s'affiche dans la colonne de discussion.

minecraft-forge-07.png

Matériel de référence

Recommended Posts

Construction de l'environnement de développement de Minecraft Mod (IntelliJ IDEA + Minecraft Forge 1.15.2) + Création de Hello World Mod
Création d'un environnement de développement à l'aide d'IntelliJ IDEA + Maven + Tomcat 9
Essayez Modding avec Minecraft Forge 1.15.1 ① [Environnement de développement de bâtiment] [Plusieurs versions prises en charge] [IntelliJ IDEA]
Construction d'un environnement Java minimal et Hello World
Résumé des erreurs lors de la création de l'environnement de développement Minecraft MOD
Introduction au développement de modules Slay the Spire (2) Construction de l'environnement de développement
construction d'environnement de développement Java
Développement d'applications JavaFX avec IntelliJ IDEA et Gradle ~ De la construction d'environnement à l'exemple de code ~
Créez un environnement de développement «Spring Thorough Introduction» avec IntelliJ IDEA
Construction de l'environnement de développement Rails6 [Mac]
Résumé des erreurs lors de la création de l'environnement de développement Minecraft MOD
[Java] Créons un Minecraft Mod 1.14.4 [6. Ajouter une recette]
Introduction au développement du mod Slay the Spire (3) Définition de la carte originale
Construction de l'environnement de développement de Minecraft Mod (IntelliJ IDEA + Minecraft Forge 1.15.2) + Création de Hello World Mod
Développement de Flink à l'aide de l'API DataStream
[Rails 6] Développement d'API à l'aide de GraphQL (Query)
Minecraft1.14.4 Mémorandum de développement MOD 1 [Recette originale]
Résumé des erreurs lors de la création de l'environnement de développement Minecraft MOD
Développement de DSL avec ANTLR 4.7.1
Construction d'environnement pour le développement d'applications Servlet
[Unity] Procédure de construction de l'environnement de développement Android
(Intellij) Hello World avec Spring Boot
Développement d'applications Web Spring5 MVC avec Visual Studio Code Hello World Creation
Développement d'applications Web Spring Boot2 avec création de Visual Studio Code Hello World