Several useful utilities for testing stuff in sandbox:
- Team Changer - Change teams easilty.
- Self Destruct - Kill yourself. Press and hold to repeat. (Enabled in campaign)
- Clone - Clones the unit you're controlling. Press and hold to repeat.
- Heal/Invincibility - Heal yourself, or make yourself invincible.
- Sandbox/Survival Button - Toggles infinite resources.
- Fill/Dump Core - Fill or empty your core of all items. Press and hold to swap between filling and emptying.
- Status Menu - Apply/clear status effects to yourself.
- Environment Menu - Change the environment and start/stop weather.
- Light Switch - Toggles ambient lighting. Press and hold to change color.
- Unit Menu - Spawn units or transform into a different unit.
- Wave selector - Change the current wave and send multiple at once.
- Block Menu - Place any block anywhere.
- Terrain Painter - Draw terrain just like in the editor.
- sk7725/whynotteleport: Alt + Click to teleport to your cursor. (Sorry if your on mobile.)
- Enables console and increases zoom range.
Other non-in-game features:
- Interp Visualizer - Visualzes the various interpolation curves in Interp.
- Sound Room - Play sounds and music.
Original repo here: MEEPofFaith/testing-utilities-js.
- Install JDK 16.
- Run
gradlew jar
[1]. - Your mod jar will be in the
build/libs
directory. Only use this version for testing on desktop. It will not work with Android. 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.
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. To get a jar file that works for every platform, do the following:
- 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.
- 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.
- 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.
Building locally takes more time to set up, but shouldn't be a problem if you've done Android development before.
- Download the Android SDK, unzip it and set the
ANDROID_HOME
environment variable to its location. - Make sure you have API level 30 installed, as well as any recent version of build tools (e.g. 30.0.1)
- Add a build-tools folder to your PATH. For testing, if you have
30.0.1
installed, that would be$ANDROID_HOME/build-tools/30.0.1
. - Run
gradlew deploy
. If you did everything correctlly, this will create a jar file in thebuild/libs
directory that can be run on both Android and desktop.
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.
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.compileOnly
means that the dependency is only around at compile time, and not included in the jar.
Only use implementation
if you want to package another Java library with your mod, and that library is not present in Mindustry already.
[1] On Linux/Mac it's ./gradlew
, but if you're using Linux I assume you know how to run executables properly anyway.
[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.