- <p align="center"><a href="https://minecraftdev.org/"><img src="https://minecraftdev.org/assets/icon.svg" height="120" alt="logo"/></a></p>
- Minecraft Development for IntelliJ
- ==================================
- <table>
- <tr>
- <td align="center" colspan="3"><b>Build Status</b></td>
- </tr>
- <tr>
- <td align="right"><b>Main Build</b></td>
- <td colspan="2"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Build"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Build)/statusIcon.svg" alt="Teamcity Build Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2023.2</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20232"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20232)/statusIcon.svg" alt="2023.2 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2023.3</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20233"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20233)/statusIcon.svg" alt="2023.3 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2024.1</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20241"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20241)/statusIcon.svg" alt="2024.1 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2024.2</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20242"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20242)/statusIcon.svg" alt="2024.2 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="right"><b>OS Tests</b></td>
- <td align="left" colspan="2">
- <a href="https://github.com/minecraft-dev/MinecraftDev/actions?query=workflow%3A%22Test%22"><img src="https://github.com/minecraft-dev/MinecraftDev/workflows/Test/badge.svg?branch=dev&event=push" alt="GitHub Action Status" /></a>
- </td>
- </tr>
- </table>
- Info and Documentation [](https://plugins.jetbrains.com/plugin/8327)
- ----------------------
- <a href="https://discord.gg/j6UNcfr"><img src="https://i.imgur.com/JXu9C1G.png" height="48px"></img></a>
- Visit [https://minecraftdev.org](https://minecraftdev.org) for some information about the project.
- Installation
- ------------
- This plugin is available on the [JetBrains IntelliJ plugin repository](https://plugins.jetbrains.com/plugin/8327).
- 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.
- Building
- --------
- Build the plugin with:
- `./gradlew build`
- The output .zip file for the plugin will be in `build/distributions`.
- Test the plugin in IntelliJ with:
- `./gradlew runIde`
- Code is generated during the build task, to run the generation task without building use:
- `./gradlew generate`
- This task is necessary to work on the code without errors before the initial build.
- To format the code in this project:
- `./gradlew format`
- This will format using `ktlint` described below in the [style guide](#style-guide) section below.
- The [Gradle IntelliJ Plugin](https://github.com/JetBrains/gradle-intellij-plugin)
- will handle downloading the IntelliJ dependencies and packaging the
- plugin.
- Style Guide
- -----------
- This projects follows the opinionated [`ktlint`](https://ktlint.github.io/) linter and formatter. It uses the
- [`ktlint-gradle`](https://github.com/jlleitschuh/ktlint-gradle) plugin to automatically check and format the code in
- this repo.
- IDE Setup
- ---------
- It's recommended to run the `ktlintApplyToIdea` and `addKtlintFormatGitPreCommitHook` tasks to configure your
- IDE with `ktlint` style settings and to automatically format this project's code before committing:
- ```
- ./gradlew ktlintApplyToIdea addKtlintFormatGitPreCommitHook
- ```
- IntelliJ includes a lot of dependencies transitively, including common dependencies that are used a lot, such as Kotlin,
- Commons Lang3, Guava, etc. Unfortunately, the source distribution for IntelliJ does not contain sources for libraries as
- well, so these libraries are imported into the IDE without sources by default. If you want to attach sources for (most)
- of the dependencies IntelliJ includes, run the `resolveIntellijLibSources` task and refresh the Gradle project in
- IntelliJ:
- ```
- ./gradlew resolveIntellijLibSources
- ```
- If you're curious about that task, it is implemented in `buildSrc`.
- Developers
- ----------
- - Project Owner - [**@DenWav** - Kyle Wood](https://github.com/DenWav)
- - [**@Minecrell**](https://github.com/Minecrell)
- - [**@PaleoCrafter** - Marvin Rösch](https://github.com/PaleoCrafter)
- - [**@RedNesto**](https://github.com/RedNesto)
- - [**@Earthcomputer** - Joseph Burton](https://github.com/Earthcomputer)
- #### **Significant Contributors**
- - [**@gabizou** - Gabriel Harris-Rouquette](https://github.com/gabizou)
- - [**@kashike** - Riley Park](https://github.com/kashike)
- - [**@jamierocks** - Jamie Mansfield](https://github.com/jamierocks)
- License
- -------
- This project is licensed under [LGPLv3.0-only](license.txt).
- Supported Platforms
- -------------------
- - [ **Spigot**](https://spigotmc.org/) ([ Paper](https://papermc.io/))
- - [ **Sponge**](https://www.spongepowered.org/)
- - [ **Architectury**](https://github.com/architectury/architectury-api)
- - [ **Minecraft Forge**](https://forums.minecraftforge.net/)
- - <a href="https://neoforged.net/"><img src="src/main/resources/assets/icons/platform/NeoForge.png?raw=true" width="16" height="16"/> <b>Neoforge</b><a/>
- - [ **Fabric**](https://fabricmc.net)
- - [ **Mixins**](https://github.com/SpongePowered/Mixin)
- - [ **BungeeCord**](https://www.spigotmc.org/wiki/bungeecord/) ([ Waterfall](https://github.com/PaperMC/Waterfall))
- - [ **Velocity**](https://velocitypowered.com/)
- - [ **Adventure**](https://kyori.net/)
- <p align="center"><a href="https://minecraftdev.org/"><img src="https://minecraftdev.org/assets/icon.svg" height="120" alt="logo"/></a></p>
- Minecraft Development for IntelliJ
- ==================================
- <table>
- <tr>
- <td align="center" colspan="3"><b>Build Status</b></td>
- </tr>
- <tr>
- <td align="right"><b>Main Build</b></td>
- <td colspan="2"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Build"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Build)/statusIcon.svg" alt="Teamcity Build Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2024.1</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20241"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20241)/statusIcon.svg" alt="2024.1 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2024.2</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20242"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20242)/statusIcon.svg" alt="2024.2 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="left">2024.3</td>
- <td align="left"><a href="https://ci.mcdev.io/viewType.html?buildTypeId=MinecraftDev_Nightly_20243"><img src="https://ci.mcdev.io/app/rest/builds/buildType:(id:MinecraftDev_Nightly_20243)/statusIcon.svg" alt="2024.3 Nightly Status" /></a></td>
- </tr>
- <tr>
- <td align="right"><b>OS Tests</b></td>
- <td align="left" colspan="2">
- <a href="https://github.com/minecraft-dev/MinecraftDev/actions?query=workflow%3A%22Test%22"><img src="https://github.com/minecraft-dev/MinecraftDev/workflows/Test/badge.svg?branch=dev&event=push" alt="GitHub Action Status" /></a>
- </td>
- </tr>
- </table>
- Info and Documentation [](https://plugins.jetbrains.com/plugin/8327)
- ----------------------
- <a href="https://discord.gg/j6UNcfr"><img src="https://i.imgur.com/JXu9C1G.png" height="48px"></img></a>
- Visit [https://minecraftdev.org](https://minecraftdev.org) for some information about the project.
- Installation
- ------------
- This plugin is available on the [JetBrains IntelliJ plugin repository](https://plugins.jetbrains.com/plugin/8327).
- 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.
- Building
- --------
- Build the plugin with:
- `./gradlew build`
- The output .zip file for the plugin will be in `build/distributions`.
- Test the plugin in IntelliJ with:
- `./gradlew runIde`
- Code is generated during the build task, to run the generation task without building use:
- `./gradlew generate`
- This task is necessary to work on the code without errors before the initial build.
- To format the code in this project:
- `./gradlew format`
- This will format using `ktlint` described below in the [style guide](#style-guide) section below.
- The [Gradle IntelliJ Plugin](https://github.com/JetBrains/gradle-intellij-plugin)
- will handle downloading the IntelliJ dependencies and packaging the
- plugin.
- Style Guide
- -----------
- This projects follows the opinionated [`ktlint`](https://ktlint.github.io/) linter and formatter. It uses the
- [`ktlint-gradle`](https://github.com/jlleitschuh/ktlint-gradle) plugin to automatically check and format the code in
- this repo.
- IDE Setup
- ---------
- It's recommended to run the `ktlintApplyToIdea` and `addKtlintFormatGitPreCommitHook` tasks to configure your
- IDE with `ktlint` style settings and to automatically format this project's code before committing:
- ```
- ./gradlew ktlintApplyToIdea addKtlintFormatGitPreCommitHook
- ```
- IntelliJ includes a lot of dependencies transitively, including common dependencies that are used a lot, such as Kotlin,
- Commons Lang3, Guava, etc. Unfortunately, the source distribution for IntelliJ does not contain sources for libraries as
- well, so these libraries are imported into the IDE without sources by default. If you want to attach sources for (most)
- of the dependencies IntelliJ includes, run the `resolveIntellijLibSources` task and refresh the Gradle project in
- IntelliJ:
- ```
- ./gradlew resolveIntellijLibSources
- ```
- If you're curious about that task, it is implemented in `buildSrc`.
- Developers
- ----------
- - Project Owner - [**@DenWav** - Kyle Wood](https://github.com/DenWav)
- - [**@Minecrell**](https://github.com/Minecrell)
- - [**@PaleoCrafter** - Marvin Rösch](https://github.com/PaleoCrafter)
- - [**@RedNesto**](https://github.com/RedNesto)
- - [**@Earthcomputer** - Joseph Burton](https://github.com/Earthcomputer)
- #### **Significant Contributors**
- - [**@gabizou** - Gabriel Harris-Rouquette](https://github.com/gabizou)
- - [**@kashike** - Riley Park](https://github.com/kashike)
- - [**@jamierocks** - Jamie Mansfield](https://github.com/jamierocks)
- License
- -------
- This project is licensed under [LGPLv3.0-only](license.txt).
- Supported Platforms
- -------------------
- - [ **Spigot**](https://spigotmc.org/) ([ Paper](https://papermc.io/))
- - [ **Sponge**](https://www.spongepowered.org/)
- - [ **Architectury**](https://github.com/architectury/architectury-api)
- - [ **Minecraft Forge**](https://forums.minecraftforge.net/)
- - <a href="https://neoforged.net/"><img src="src/main/resources/assets/icons/platform/NeoForge.png?raw=true" width="16" height="16"/> <b>Neoforge</b><a/>
- - [ **Fabric**](https://fabricmc.net)
- - [ **Mixins**](https://github.com/SpongePowered/Mixin)
- - [ **BungeeCord**](https://www.spigotmc.org/wiki/bungeecord/) ([ Waterfall](https://github.com/PaperMC/Waterfall))
- - [ **Velocity**](https://velocitypowered.com/)
- - [ **Adventure**](https://kyori.net/)