|
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 example, 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 | +# Extra Sand in the Sandbox - Redux |
| 2 | +The revival of my old v5 mod, [Extra Sand in the Sandbox](https://github.com/MEEPofFaith/extra-sand). |
| 3 | +Many of the features in this mod were once in [MEEPscellaneous Concepts](https://github.com/MEEPofFaith/prog-mats-java) until I decided to split them off into their own mod. |
| 4 | +However, this isn't just stuff from MC, there's also new stuff that didn't come from MC. |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +- Turrets |
| 9 | + - Evisceration - Delete everything in that general direction |
| 10 | + - Fantastic Turret - Randomly fires the bullets of all units and turrets. Fires stronger bullets the longer it fires, though the damage calculations are a bit scuffed are are not indicative of actual damage values. |
| 11 | + - Must be enabled in settings |
| 12 | +- Items and Liquids |
| 13 | + - Several variations of item/liquid/both sources and voids. |
| 14 | +- Power |
| 15 | + - Configurable Power Source - A power source whose power output can be configured. |
| 16 | + - Configurable Power Void - A power void whose power consumption can be configured. |
| 17 | + - Smart Power Source - The amount of power it outputs is equal to the power required by the network + 1000. |
| 18 | +- Defense |
| 19 | + - Sandbox walls - Indestructible and can be configured to act like surge, plastanium, and phase walls, and test for DPS. |
| 20 | + - Target Dummy - Invincible dummy that can be toggled between ground and flying that records DPS. |
| 21 | +- Heat |
| 22 | + - Configurable Heat Source - A heat source whose heat output can be configured. |
| 23 | +- Storage |
| 24 | + - Configurable Container - A container with a configurable storage capacity |
| 25 | + - Configurable Battery - A battery with a configurable capacity |
| 26 | + - Configurable Capacity Configurer - Configures the capacity of configurable containers and batteries that pass through it |
| 27 | + - (Note: There is no configurable liquid container. This is because flow rate is based on the block's liquid capacity, which is not dynamic and I can't do anything about that.) |
| 28 | +- Other |
| 29 | + - Configurable Mender - A mender whose mending speed can be configured. |
| 30 | + - Configurable Overdriver - An overdriver whose overdrive amount can be configured. |
| 31 | + - Flowrate Void - A special void that records the flowrate of items, liquids, and payloads that are put into it as well as the status of the power grid it's connected to. |
| 32 | +- Units |
| 33 | + - Fantastic Unit - Has every other unit's weapons and abilities attached to it. |
| 34 | + - Must be enabled in settings |
0 commit comments