====== Entwicklungsumgebung einrichten ====== ===== Voraussetzungen ===== * Ein Java Development Kit (JDK) für Java 17(empfohlen) oder neuer. Besuche [[https://adoptium.net/releases.html]] für den Installer. * Wenn du professionell bist, kannst du ein JDK von [[http://jdk.java.net/]] nutzen, das extrahiert werden und Systemvariablen manuell aufgesetzt werden müssen. * Irgendeine Java IDE, z.B. [[https://www.jetbrains.com/idea/download/#section=windows|IntelliJ IDEA]] oder [[https://www.eclipse.org/downloads/|Eclipse]]. Du kannst auch andere Code-Editoren, wie [[https://code.visualstudio.com/|Visual Studio Code]] nutzen. * Wenn du mit noch keinem davon vertraut bist, empfehlen wir die Nutzung von IntelliJ IDEA, da die meisten dies zum Modden verwenden. ===== Mod Setup ===== ==== Manuelle Schritte ==== - Kopiere die Start-Dateien von [[https://github.com/FabricMC/fabric-example-mod/|fabric-example-mod]](oder die [[https://github.com/SmushyTaco/Example-Mod/|Kotlin Version]], wenn du mit Kotlin arbeiten willst). Die LICENSE- und README.md Dateien sind ausgenommen, da sie sich nur auf das Beispiel-Projekt beziehen und nicht unbedingt auf deine Mod. - Ändere in ''gradle.properties'': * Stell sicher, dass du ''archives_base_name'' und ''maven_group'' auf deine beforzugten Werte stellst. * Stell sicher, dass die Minecraft-, Mapping-, Loader- und die Loom-Version auf dem neuesten Stand sind. All dies kann über [[https://fabricmc.net/develop/]] eingesehen werden, um die Versionen abzugleichen, die du nutzen willst. * Füge alle Abhängigkeiten(dependencies) in ''build.gradle'' hinzu, die du nutzen möchtest. - Importiere die ''build.gradle'' in die IDE. Im nächsten Abschnitt gehen wir weiter darauf ein. ==== IntelliJ IDEA ==== Wenn du IntelliJ IDEA von JetBrains nutzt, folge bitte diesen Schritten: - Wähle im IDEA-Hauptmenü 'Import Project' (oder File -> Open... wenn du schon ein anderes Projekt offen hast) - Wähle die ''build.gradle''-Datei aus, um das Projekt zu importieren. - Nachdem Gradle fertig mit dem Setup ist, schließe das Projekt (File -> Close Projekt) und öffne es erneut, um nicht angezeigte Start-Konfigurationen zu fixen. - (Wenn die Start-Konfigurationen immer noch nicht angezeigt werden, versuche das Gradle-Projekt nochmal über den Gradle-Tab in IDEA zu importieren.) //Optional, aber empfolen:// Normalerweise gibt IntelliJ Gradle die Aufgabe, das Projekt zu erstellen. Dies ist für Fabric unnötig und führt zu längeren Bau-Zeiten und Hotswapping-bedingten 'Verrücktheiten' und anderen Problemen. Verwende dazu den eingebauten Compiler: - Öffne den 'Gradle Settings'-Dialog über den Gradle-Tab - Ändere die 'Build and run using' und 'Run test using' zu 'IntelliJ IDEA'. - Gehe zu File -> Project Structure -> Project und setzte 'Project compiler output' zu ''$PROJECT_DIR$/out''. Leider ist es zurzeit unmöglich einen IDE-weiten Standard für die 'Build and run using' und 'Run tests using' Optionen festzulegen, wesshalb diese Schritte bei jedem neuen Projekt wiederholt werden müssen. **ANMERKUNG:**Führe nicht den ''idea'' Gradle-Befehl aus. Es ist bekannt, dass er die Entwicklungsumgebung beschädigt. Wenn du IntelliJ IDEA nutzt, kannst du auch das [[https://plugins.jetbrains.com/plugin/8327|MinecraftDev Plugin]] nutzten. Dieses Plugin fügt eine Unterstützung, um automatisch Fabric-Projekte sowie einiger Mixin-bezogene Funktionen wie Inspektionen, generieren von Zugriffsrechten/Schattenfeldern und das Kopieren von Mixin-Zielreferenzen (JVM-Descriptors). Du kannst es mit dem internen Plugin-Browser von IntelliJ installieren: Gehe zu File -> Settings -> Plugins, auf den Marketplace-Tab und nach 'Minecraft' suchen. **ANMERKUNG:** Die Standard-Vorlage im McDev-Plugin nutzt die neueste instabiele Version des Looms. Mit Vorsicht verwenden. ==== Eclipse ==== Wenn du Eclipse nutzt und möchtest die IDE-Startkonfigurationen haben, kannst du ''gradlew eclipse'' ausführen. Das Projekt kann dann als normales(nicht-gradle) Eclipse-Projekt importiert werden. Navigiere: 'File' -> 'Import...' In dem Menü auf 'General' -> 'Existing Projects into Workspace' ==== Visual Studio Code ==== Wenn du VSCode nutzt, folge bitte [[tutorial:vs|dieser Anleitung]] ===== Einstieg ===== Versuche ein 'Item' oder einen 'Block' zu erstellen. Es ist auch eine gute Idee 'Änderungen vornehmen ohne Minecraft neu zu starten' durchzulesen. ===== Rat ===== * Obwohl die Fabric API für Fabric-Mods nicht notwendig ist, wird aber stark empfohlen, da ihr Ziel die Kompatibilität von unterschiedlichen Mods ist, was die Spiel-Engine nicht tut. Selbst manche Tutorials im Wiki benötigen die Fabric-API * Gelegendlich können bei der Entwicklung vom Fabric-Loom(unser Gradle-Bau-Plugin) Probleme auftreten, die ein Zurücksetzen der Cache-Dateien erfordern. Dies kann durch Ausführen von ''gradlew cleanloom'' erfolgen. Das Ausführen von ''gradlew --stop'' kann auch bei einigen seltenen Problemen helfen. * Nutze die neueste Loom-Version(ist in build.gradle definiert) und die neueste Version für den Fabric-Loader und die Fabric-API für deine Mod.(in ''build.gradle'' oder ''gradle.properties'') Die neueste Version kann auf [[https://fabricmc.net/develop/]] gefunden werden. * Nutze die neueste Gradle-Version. Sie kann unter ''gradle/wrapper/gradle-wrapper.properties'' definiert werden. Alte Versionen von Minecraft unterstützen die neuesten Gradle versionen. * Unterschiedliche Gradle-Versionen erfordern unterschiedliche Java-Versionen. Normalerweise unterstützt das neueste Gradle die empfohlene Java-Version 17. * Wenn du Mods für alte Minecraft-Versionen entwickelst, musst du neben der Änderung von ''gradle.properties'' möglicherweise auch die Java-Kompatibilitätsversion in ''build.gradle'' und der Mixin-Konfig ändern. * Warte nicht, uns Fragen zu stellen! Wir sind hier um dir zu helfen und mit dir zusammenzuarbeiten, um deine Traum-Mod Wirklichkeit werden zu lassen. ===== Fehlerbehebung ===== ==== Fehlende Sounds ==== Manchmal werden die Assets beim Importieren des Gradle-Projekts in eine IDE möglicherweise nicht korrekt heruntergeladen. Führe in diesem Fall den Befehl ''downloadAssets'' manuell aus - entweder über das integrierte Menü der IDE oder indem du einfach ''gradlew downloadAssets'' ausführst.