Table of Contents
Lesen des Minecraft Sourcecodes
Lesen des Minecraft Sourcecodes ist eine wichtige Eigenschaft beim Modden. Das ist hauptsächlich, weil
- die meisten Sachen in Minecraft nicht dokumentiert sind
- Dokumentationen/Tutorials veralten ziemlich schnell
Um den Minecraft Sourcecodes zu lesen, musst du diese erst generieren. Siehe den Abschnitt “Generating Minecraft Sources” in Einrichtung einer Mod-Entwicklungsumgebung.
Suchen nach einer Minecraft-Klasse
Um eine Minecraft-Klasse zu suchen, folge diesen Schritten:
IntelliJ IDEA
- Öffne das Such-Panel mit
Ctrl + N - Stelle den Suchbereich auf
Project and Librariesoder weiter. - Gib den Kassennamen in die Suchzeile ein
Visual Studio Code
- Öffne das Such-Panel mit
Ctrl + P - Suche den Klassennamen mit dem Prefix
#
In Visual Studio Code kannst du auch Ctrl + T nutzen, um die Klassensuche direkt zu öffnen.
Das Finden der gesuchten Klasse
Das Finden des Codes den du suchst, ist eine herausfordernde Aufgabe. Hier paar einfache Tipps.
- Nutze die Möglichkeiten der IDE, den relevanten Code, wie
Call hierarchy,Method hierarchyoderType hierarchy. - Schau in Open-Source-Mods nach, die ähnlich wie die ist, die du machen willst.
- Wenn du neuen Inhalt hinzufügen möchtest, ist die Wahrscheinlichkeit groß, dass du auf die Register, definiert in
net.minecraft.util.registry.Registry, zugreifen musst. - Merk dir, dass alles immer in der Main-Klasse (
net.minecraft.client.main.Mainfür den Client,net.minecraft.server.Mainfür den Server).
Lesen des Bytecodes
Lesen des Bytecodes ist gelegentlich nötig, da
- Mixins im Bytecode arbeiten und nicht im Sourcecode. Verstehen des Bytecodes ist essentiell, wenn du komplexe Mixins schreibst.
- Decompiler (FernFlower) sind nicht perfekt. Es produziert manchmal ungültigen Java-Code wie
int i = true;.
Wenn du nicht mit Java-Bytecode vertraut bist, lese die JVM Spezifikationen.
Um den Bytecode zu sehen, folge diesen Schritten.
IntelliJ IDEA
- Öffne die Klasse, die du in Bytecode sehen möchtest
- Wähle
Viewaus dem Hauptmenü - Wähle
Show Bytecode
Andere Programme
Wenn deine IDE Bytecode nicht anzeigen kann, kannst du Bytecode-Viewer, wie https://github.com/Konloch/bytecode-viewer.
FAQ
Wo ist der generierten Sourcecode?
Es befindet sich entweder im Gradle-Cache des Benutzers (~/.gradle/caches/fabric-loom) oder im Gradle-Cache des Projekts (./.gradle/loom-cache).
Du kannst die Source-JAR-Datei außerhalb Ihrer IDE verwenden.