|
1 | | -# Mindustry Java Mod Template |
2 | | -A Java Mindustry mod template that works on Android and PC. The Kotlin version of this mod can be seen [here](https://github.com/Anuken/MindustryKotlinModTemplate). |
3 | | - |
4 | | -## Building for Desktop Testing |
5 | | - |
6 | | -1. Install JDK **17**. |
7 | | -2. Run `gradlew jar` [1]. |
8 | | -3. Your mod jar will be in the `build/libs` directory. **Only use this version for testing on desktop. It will not work with Android.** |
9 | | -To build an Android-compatible version, you need the Android SDK. You can either let Github Actions handle this, or set it up yourself. See steps below. |
10 | | - |
11 | | -## Building through Github Actions |
12 | | - |
13 | | -This repository is set up with Github Actions CI to automatically build the mod for you every commit. This requires a Github repository, for obvious reasons. |
14 | | -To get a jar file that works for every platform, do the following: |
15 | | -1. Make a Github repository with your mod name, and upload the contents of this repo to it. Perform any modifications necessary, then commit and push. |
16 | | -2. Check the "Actions" tab on your repository page. Select the most recent commit in the list. If it completed successfully, there should be a download link under the "Artifacts" section. |
17 | | -3. Click the download link (should be the name of your repo). This will download a **zipped jar** - **not** the jar file itself [2]! Unzip this file and import the jar contained within in Mindustry. This version should work both on Android and Desktop. |
18 | | - |
19 | | -## Building Locally |
20 | | - |
21 | | -Building locally takes more time to set up, but shouldn't be a problem if you've done Android development before. |
22 | | -1. Download the Android SDK, unzip it and set the `ANDROID_HOME` environment variable to its location. |
23 | | -2. Make sure you have API level 30 installed, as well as any recent version of build tools (e.g. 30.0.1) |
24 | | -3. Add a build-tools folder to your PATH. For expansion, if you have `30.0.1` installed, that would be `$ANDROID_HOME/build-tools/30.0.1`. |
25 | | -4. Run `gradlew deploy`. If you did everything correctlly, this will create a jar file in the `build/libs` directory that can be run on both Android and desktop. |
26 | | - |
27 | | -## Adding Dependencies |
28 | | - |
29 | | -Please note that all dependencies on Mindustry, Arc or its submodules **must be declared as compileOnly in Gradle**. Never use `implementation` for core Mindustry or Arc dependencies. |
30 | | - |
31 | | -- `implementation` **places the entire dependency in the jar**, which is, in most mod dependencies, very undesirable. You do not want the entirety of the Mindustry API included with your mod. |
32 | | -- `compileOnly` means that the dependency is only around at compile time, and not included in the jar. |
33 | | - |
34 | | -Only use `implementation` if you want to package another Java library *with your mod*, and that library is not present in Mindustry already. |
35 | | - |
36 | | ---- |
37 | | - |
38 | | -*[1]* *On Linux/Mac it's `./gradlew`, but if you're using Linux I assume you know how to run executables properly anyway.* |
39 | | -*[2]: Yes, I know this is stupid. It's a Github UI limitation - while the jar itself is uploaded unzipped, there is currently no way to download it as a single file.* |
| 1 | +# Expansion but java lol |
| 2 | +Recreation of my first mod. |
0 commit comments