Java 11 oder höher wird in dieser Entwicklungsumgebung nicht unterstützt, daher muss Java 8 im Voraus installiert werden.
Referenz: Java 8 \ (OpenJDK: AdoptOpenJDK ) unter macOS mit Homebrew \ -Qiita installieren
Laden Sie Mdk (Mod Development Kit) von Minecraft Forge 1.15.2-31.1.0, der derzeit empfohlenen Umgebung (Stand 16. Februar 2020), von Minecraft Forge herunter. Machen.
Extrahieren Sie die heruntergeladene Schmiede-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 enthält Anweisungen zum Einrichten.
If you prefer to use IntelliJ:
- Open IDEA, and import project.
- Select your build.gradle file and have it import.
- Run the following command: "gradlew genIntellijRuns" (./gradlew genIntellijRuns if you are on Mac/Linux)
- Refresh the Gradle Project in IDEA if required.
Referenz: MinecraftForge / mdk unter 1 \ .15 \ .x · MinecraftForge / MinecraftForge · GitHub
Erstellen Sie ein Projekt, indem Sie den Ordner angeben, der von Import Project with IntelliJ IDEA extrahiert wurde.
Wenn die folgende Meldung ausgegeben wird, wurde die entsprechende Java-Version nicht festgelegt.
> 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.
IntelliJ-Einstellungen Einstellungen> Erstellen, Ausführen, Bereitstellen> Build-Tools> Gradle> Gradle JVM erfordert die Angabe von Java 8 oder höher.
./gradlew genIntellijRuns
Führen Sie ./gradlew genIntellijRuns aus, z. B. im IntelliJ IDEA Terminal.
$ ./gradlew genIntellijRuns
Da auch hier Java 8 oder höher verwendet wird, stellen Sie es nach Bedarf ein. Referenz: Java 8 \ (OpenJDK: AdoptOpenJDK ) unter macOS mit Homebrew \ -Qiita installieren
Minecraft wird gestartet, wenn Sie Aufgaben> fg_runs> runClient im Gradle-Tool-Fenster in der oberen rechten Ecke von IntelliJ IDEA oder ./gradlew runClient vom Terminal usw. ausführen.
Wenn Sie auf "Mods" klicken, können Sie sehen, dass der in Mdk enthaltene Beispiel-Mod geladen ist.
Mdk enthält den Quellcode von Example Mod als Beispiel für die Mod-Entwicklung.
Quellcodeliste.
Sie können den Inhalt des Quellcodes auch unter [MinecraftForge / mdk unter 1 \ .15 \ .x · MinecraftForge / MinecraftForge · GitHub] überprüfen (https://github.com/MinecraftForge/MinecraftForge/tree/1.15.x/mdk). Möglich.
Erstellen Sie einen Mod, der eine einfache Hello World in der entwickelten Entwicklungsumgebung realisiert.
src/main/java/com/example/HelloWorldMod.java
Schreibe eine Java-Klasse, die die Hauptverarbeitung des Mods durchführt.
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 beschrieben in toml
public class HelloWorldMod {
public HelloWorldMod() {
// MinecraftForge.EVENT_Ein Objekt mit einer Handlermethode für Ereignisse, die von BUS verarbeitet werden(this)Registrieren
MinecraftForge.EVENT_BUS.register(this);
}
/**
*Eine Event-Handler-Methode, die ausgeführt wird, wenn sich der Player anmeldet.
*Der Methodenname kann beliebig sein.
*
* @param event PlayerLoggedInEvent-Objekt
*/
@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
Informationsbeschreibungsdatei für Ressourcenpakete. Ohne diese Datei tritt ein Fehler wie "Fehler beim Laden eines gültigen ResourcePackInfo" auf. Hier werden nur die Mindestinhalte beschrieben.
{
"pack": {
"description": "Hello World mod resources",
"pack_format": 5
}
}
src/main/resources/META-INF/mods.toml
Mod Informationsbeschreibungsdatei. Hier werden nur die Mindestinhalte beschrieben.
modLoader="javafml"
loaderVersion="[31,)"
[[mods]]
modId="helloworldmod"
version="1.2.3"
displayName="Hello World Mod"
description='''
This is the ...
Hello World mod.
'''
build.gradle
Konfigurationsdatei für Gradle erstellen. Hier werden nur die Mindestinhalte beschrieben.
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'
}
Führen Sie Aufgaben> Erstellen> Erstellen im Gradle-Tool-Fenster in der oberen rechten Ecke von IntelliJ IDEA aus oder führen Sie ./gradlew Build vom Terminal aus usw.
$ ./gradlew build
Die JAR-Datei für die Verteilung wird in das Verzeichnis build / libs ausgegeben.
$ ls build/libs/
helloworldmod-1.2.3.jar
Starten Sie den regulären Minecraft Java Edition Minecraft Launcher und konfigurieren Sie die Konfiguration für Minecraft Forge 1.15.2-31.1.0.
Platziere die erstellte JAR-Datei mit der von dir festgelegten Konfiguration im Mods-Verzeichnis des Spieleverzeichnisses und starte Minecraft Forge 1.15.2-31.1.0.
Sie können sehen, dass Hello World Mod geladen ist.
Wenn Sie die Welt betreten, wird Hello World in der Chat-Spalte angezeigt.
Recommended Posts