The automation tower defense RTS, written in Java.
Trello Board
Wiki
Javadoc
See CONTRIBUTING.
Bleeding-edge builds are generated automatically for every commit. You can see them here.
If you'd rather compile on your own, follow these instructions. First, make sure you have JDK 17 installed. Other JDK versions will not work. Open a terminal in the Mindustry directory and run the following commands:
Running: gradlew desktop:run
Building: gradlew desktop:dist
Sprite Packing: gradlew tools:pack
Running: ./gradlew desktop:run
Building: ./gradlew desktop:dist
Sprite Packing: ./gradlew tools:pack
Server builds are bundled with each released build (in Releases). If you'd rather compile on your own, replace 'desktop' with 'server', e.g. gradlew server:dist
.
latest
and put all of its contents into the newly created folder.sdkmanager --licenses
(or ./sdkmanager --licenses
if on linux/mac)ANDROID_HOME
environment variable to point to your unzipped Android SDK directory.gradlew android:assembleDebug
(or ./gradlew
if on linux/mac). This will create an unsigned APK in android/build/outputs/apk
.To debug the application on a connected device/emulator, run gradlew android:installDebug android:run
.
If the terminal returns Permission denied
or Command not found
on Mac/Linux, run chmod +x ./gradlew
before running ./gradlew
. This is a one-time procedure.
mindustry.gen
package?As the name implies, mindustry.gen
is generated at build time based on other code. You will not find source code for this package in the repository, and it should not be edited by hand.
The following is a non-exhaustive list of the "source" of generated code in mindustry.gen
:
Call
, *Packet
classes: Generated from methods marked with @Remote
.Unit
, EffectState
, Posc
, etc): Generated from component classes in the mindustry.entities.comp
package, and combined using definitions in mindustry.content.UnitTypes
.Sounds
, Musics
, Tex
, Icon
, etc: Generated based on files in the respective asset folders.Gradle may take up to several minutes to download files. Be patient.
After building, the output .JAR file should be in /desktop/build/libs/Mindustry.jar
for desktop builds, and in /server/build/libs/server-release.jar
for server builds.
Post feature requests and feedback here.