IntelliJ IDEA einrichten

This article describes how to configure your IntelliJ IDEA workspace for plugin development with SpongeAPI and a build system such as Maven or Gradle or the Minecraft Development plugin.

If you want to create your project completely from scratch, please skip ahead to the Gradle or Maven sections. Using the Minecraft Dev plugin sets up a working starting point and eliminates some of the guesswork in getting your project off the ground.

Using IDEA Minecraft Dev Plugin to Create a Working Starting Point

The Minecraft Development plugin for IntelliJ is a great plugin by a community member which makes plugin project creation much easier while also providing some neat and useful features for development. By default, it will create a project which uses Gradle as the build tool.

Installing the Minecraft Dev Plugin

This plugin is available on the JetBrains IntelliJ plugin repository.

Because of this, you can install the plugin through IntelliJ’s internal plugin browser. Navigate to File -> Settings -> Plugins and click the Browse Repositories... button at the bottom of the window. In the search box, simply search for Minecraft. You can install it from there and restart IntelliJ to activate the plugin.

Creating Your Project from a Template

  • Starte IntelliJ IDEA.

  • Klicke Create New Project.

  • Select Minecraft in the popup.

  • Make sure your Project SDK is set to some version of Java 8/1.8.

  • Select Sponge plugin for your project type, then click Next.

  • Trage deine Group ID, Artifact ID und Version ein.

    • Deine Group ID sollte für gewöhnlich deinem Java-Package-Namen entsprechen. Siehe auch Hauptklasse des Plugins für Details.

    • Deine Artifact ID sollte für gewöhnlich deiner Plugin ID entsprechen, die zuvor gewählt hast, z.B. myplugin.

    • Your Version is up to you. See Version Numbers for details.

  • Select your desired build tool, either Gradle or Maven, and click Next.

  • Check your Plugin Name and Main Class Name to make sure they are what you want.

  • Specify your desired plugin description, authors, website, and dependencies if you want.

  • Click Next to move on.

  • Verify your project name, location, and module information, then click Finish.

  • The plugin will create a main java file as a starting point, with the logger already injected. You may add a logger.info() statement in the onServerStart event handler to verify that the plugin is working when you run it.

Editing the Project Configuration

Refer to the Gradle or Maven configuration sections, depending on what you chose during project creation.

Creating a Plugin from Scratch – Gradle

  • Starte IntelliJ IDEA.

  • Klicke Create New Project.

  • Select Gradle in the popup.

  • If you want, select any additional libraries and frameworks you desire, for example Kotlin.

  • Make sure your Project SDK is set to some version of Java 8/1.8.

  • Click Next to move on.

  • Trage deine Group ID, Artifact ID und Version ein.

    • Deine Group ID sollte für gewöhnlich deinem Java-Package-Namen entsprechen. Siehe auch Hauptklasse des Plugins für Details.

    • Deine Artifact ID sollte für gewöhnlich deiner Plugin ID entsprechen, die zuvor gewählt hast, z.B. myplugin.

    • Your Version is up to you. See Version Numbers for details.

  • Klicke zweimal Next, gebe deinen Projekt einen Namen und klicke Finish.

  • The project will be created without a src directory. If you add java files to the incorrect location underneath the project, they will be ignored and not compiled, so it is a good idea to enable the checkbox „Create directories for empty content roots“, found in:

    • Windows: File -> Settings -> Build, Execution, Deployment -> Gradle

    • Mac: Intellij IDEA -> Preferences -> Build, Execution, Deployment -> Build Tools -> Gradle

  • Enabling Use Auto-import in the same location will allow change to the gradle configuration to automatically reload without IDEA prompting you each time.

  • Upon enabling those settings, a /src/main/java directory should be created, where you can start creating your main plugin code files.

Editing the Build Script

  • Öffne die Datei build.gradle im Navigator und füge die Abhängigkeiten hinzu.

  • Bearbeite das Build-Skript entsprechend der Anleitung in Gradle einrichten.

  • Öffne den Gradle Tab auf der rechten Seite des IntelliJ Fensters und drücke den Neu-Laden Knopf.

  • Gradle ist fertig eingerichtet! Du kannst jetzt mit dem programmieren deines Plugins beginnen.

Creating a Plugin from Scratch – Maven

Creating Your Project

  • Starte IntelliJ IDEA.

  • Klicke Create New Project.

  • Select Maven in the popup.

  • Make sure your Project SDK is set to some version of Java 8/1.8.

  • Click Next to move on.

  • Trage deine Group ID, Artifact ID und Version ein.

    • Deine Group ID sollte für gewöhnlich deinem Java-Package-Namen entsprechen. Siehe auch Hauptklasse des Plugins für Details.

    • Deine Artifact ID sollte für gewöhnlich deiner Plugin ID entsprechen, die zuvor gewählt hast, z.B. myplugin.

    • Your Version is up to you. See Version Numbers for details.

  • Klicke Weiter.

  • Trage deinen Projektnamen ein und klicke auf``Finish``.

Editing the Project Configuration

  • Öffne die pom.xml im Navigator.

  • Bearbeite die Build-Konfiguration entsprechend der Anleitung in Maven einrichten.

  • Lade dein Maven-Projekt neu.

  • Importiere die durch Maven bedingten Änderungen, wenn du danach gefragt wirst.

Testing Your Plugin

The following instructions are a quick way to test your plugin, but won’t be the most efficient way to iteratively develop.

To make a .jar file, using Gradle:

  • Go to View -> Tool Windows -> Gradle

  • Under Tasks -> Build, click on jar

  • The build process should create the jar underneath build\libs

To make a .jar file, using Maven:

  • Go to View -> Tool Windows -> Maven Projects

  • In the Maven Projects window, expand your project’s name

  • Under Plugins, expand jar

  • Double click jar:jar

  • The build process should create the jar underneath target

Copy your jar file to the mods directory of a working Sponge server, then restart the server to test.

For a more efficient development process, see Plugins Debuggen for instructions on running both the Sponge server and your plugin from within IDEA. This process allows for hot-swapping, allowing you to change plugin code without restarting the server.

Importing An Existing Project (Gradle or Maven)

Wenn du schon mit deinem Projekt begonnen hast und du es später erneut importieren möchtest, musst du das Projekt importieren anstatt es mit der IDE neu zu erstellen:

  • Click File > Open or Import Project.

  • Gradle: Navigate to the project’s build.gradle file and select it.

  • Maven: Navigate to the project’s pom.xml file and select it.

  • Make sure the settings are as you desire and click Ok.

Git-Integration

JetBrains offers in-depth documentation on using their Git integration:

https://www.jetbrains.com/help/idea/using-git-integration.html