An ambitious campaign expansion for Mindustry, developed by stabu, featuring a brand new star system.
Warning
Stable Build is Outdated
The current stable release does not support Mindustry v8. All new features and v8 compatibility are actively being built in Indev (In-Development) pre-releases.
Important
You cannot just download the .zip and add it to your mods folder, as this is a Java mod.
If you open an issue report revolving around this, it will be ignored, and you will be referred to this file.
Instead, you have two options:
Head over to the releases page. Download the Omaloon.jar from latest release (marked by green badge) Assets and put it in the Mindustry mods folder:
- On Windows, it should be
%APPDATA%\Mindustry\mods\. - On Linux, it should be
$HOME/.local/share/Mindustry/mods/. - On Mac, it should be
$HOME/Library/Application Support/Mindustry/mods/. - On Android, see the game's built-in mod import functionality below.
- On iOS you can't get the mod because mods with code are prohibited by Apple (see https://developer.apple.com/app-store/review/guidelines/#software-requirements).
You can also use the Mindustry's built-in «Import Mod» button in the Mods menu dialog by providing Omaloon.jar or stabu-dev/Omaloon, or simply download the mod from the mod browser. Then restart the game and play.
Head over to the releases page. Download the Omaloon.jar from the latest pre-release (marked with an Indev badge) Assets and place it in your Mindustry mods folder as described above.
Using Mindustry's in-game Mod Browser:
The default "Install" button ignores pre-releases. To get the v8 Indev build:
- Tap View Releases in the Omaloon mod menu/dialog.
- Select the newest indev version.
- Install it manually.
Important
Make sure you have a GitHub account, as it requires you to have an account to download artifacts.
If you open an issue report revolving around your inability to download BE, it will be ignored, and you will be referred to this file.
Head over to the actions page, click the most recent successful workflow run (marked by green checkmark), scroll down to "Artifacts" section, and download the one titled Omaloon (in a box).
As the name suggests, you must unpack (unzip) it first to extract the actual .jar, then you can import it.
Be aware that the indev and bleeding-edge are early access builds that usually highly unstable, unfinished or / and straight up unplayable, plus might require a certain Mindustry version constraint. Use them this at your own risk.
Important
russian localization will never be added to Omaloon.
The russian language is and has historically been a tool of imperialism and cultural erasure. This policy of linguistic persecution is a key part of the ongoing crimes against humanity, which we condemn. We will not host a language that is mainly used as a tool for this system of oppression.
If you open an issue report or pull request revolving around this, it will be ignored, and you will be referred to this file.
You can contribute to mod in several ways, including:
- Join Omaloon's Discord server to suggest and discuss new content.
- Provide examples and specific arguments why your suggestion should be added to Omaloon
- Share your thoughts on game-play and balancing in our Discord.
- Provide specific examples and reasoning for balance changes.
Improve Omaloon's code/sprites/localization and propose these changes to us by creating a Pull Request.
Feel free to contribute, but please take these into account:
- Follow the Mindustry contributing guidelines. This includes code formatting.
- Provide specific reasoning why your Pull Request should be accepted.
- Make sure your proposed requests work both on Desktop and Android and don't cause any issues.
- Head over to the issues page and fill up the form.
Before diving into Omaloon's source code, a good understanding of Java and Git is highly recommended. While not impossible to work without, you'll likely encounter fewer hurdles with prior experience.
- Install Prerequisites:
- JDK 17 or higher: This is essential for compiling the mod.
- IDE (Recommended): IntelliJ IDEA (Community Edition is free) is strongly suggested over basic text editors.
- Clone Repository:
- Clone this repository (or your fork) to your local machine.
Important
A local copy is not the ZIP archive you can download from GitHub. Use git clone https://github.com/stabu-dev/Omaloon.git or the cloning feature provided by your Git client (like GitHub Desktop), for version control and keeping your sanity.
Downloading the ZIP bypasses Git's version control capabilities.
Builds are managed via Gradle.
Omaloon is compiled to Java 17 bytecode (the main module sets sourceCompatibility, targetCompatibility, and options.release to 17), so the built JAR requires a Java 17 runtime.
Ideal for quick testing on PC. The resulting JAR will have Desktop appended (OmaloonDesktop.jar).
-
Open your terminal in the Omaloon's root directory.
-
Ensure you have an internet connection for the first build or after a
./gradlew clean, as Gradle might download dependencies. -
Run:
./gradlew main:deploy
(or
gradlew.bat main:deployon Windows). The JAR will be inmain/build/libs/. -
To automatically copy this JAR to your Mindustry mods folder:
./gradlew install
You can combine these like:
./gradlew main:deploy install.For a complete build, install, and launch cycle for testing (will download Mindustry client if needed):
./gradlew runClient
This produces a JAR compatible with both Android and PC (Omaloon.jar).
-
Using GitHub Actions (Recommended):
- Push your changes to your GitHub repository (your fork).
- The CI workflow (defined in
.github/workflows/ci.yml) will automatically build both Desktop and Android JARs. - You can download these from the "Artifacts" section of the completed workflow run. The cross-platform JAR artifact might be named like
Omaloon (in a box).zip(containingOmaloon.jar). - When a GitHub Release created, the cross-platform JAR (
Omaloon.jar) is automatically uploaded.
-
Local Android Build (Optional): If you need to make a build for Android locally:
- Install Android SDK:
- Download the "Command line tools only" package from the Android Studio page for your OS.
- Extract the ZIP to a directory (e.g.,
~/AndroidSDKon Linux/macOS,C:\AndroidSDKon Windows). - Inside the extracted
cmdline-toolsfolder, create a new folder namedlatest. Move all contents ofcmdline-tools(likebin,lib, etc.) into thislatestfolder. The structure should beAndroidSDK/cmdline-tools/latest/. - Set the
ANDROID_HOME(orANDROID_SDK_ROOT) environment variable to the full path of yourAndroidSDKdirectory (e.g.,~/AndroidSDK). Restart your terminal for changes to take effect. - Navigate your terminal to
AndroidSDK/cmdline-tools/latest/bin/. - Run
sdkmanager --licenses(orsdkmanager.bat --licenseson Windows) and accept all licenses by typing 'y' and pressing Enter for each. - Install the necessary SDK platforms and build tools. The versions are specified in
.github/workflows/ci.yml(look for thesdkmanagercommand):(orsdkmanager "platforms;android-33" "build-tools;33.0.2"
sdkmanager.baton Windows).
- Build the Mod:
- In Omaloon's root directory, run:
(or
./gradlew main:dex
gradlew.bat main:dexon Windows). - The cross-platform JAR will be located in
main/build/libs/.
- In Omaloon's root directory, run:
- Install Android SDK:
-
main:deploy: Builds the desktop-only JAR (OmaloonDesktop.jar). -
main:dex: Builds the Android-compatible (cross-platform) JAR (Omaloon.jar). -
install: Copies themain:deployoutput (desktop JAR) to the local Mindustry mods folder. The target directory depends on themindustryPathproperty ingradle.properties:[mindustryPath]/saves/mods/if yourmindustryPathpoints to a Steam/non-JAR installation (containsMindustry.exe).[mindustryPath]/mods/if yourmindustryPathpoints to a non-Steam/other directory.Omaloon/run/mods/if yourmindustryPathis not set (whereOmaloonis mod's root directory).
-
installClient: Downloads the Mindustry client JAR (version specified bymindustryVersionproperty ingradle.properties) into the directory determined bymindustryPath(orOmaloon/run/ifmindustryPathis unset).- This task is skipped if the target path appears to be a Steam/non-JAR Mindustry installation (contains
Mindustry.exe). - Primarily used by the
runClienttask to ensure a Mindustry client is available.
- This task is skipped if the target path appears to be a Steam/non-JAR Mindustry installation (contains
-
runClient: A comprehensive task to run local tests. It performs the following sequence:- Ensures the Mindustry client is available by running
installClient(unless it's a Steam/non-JAR setup). - Builds and installs Omaloon by running
install. - Launches Mindustry with Omaloon installed:
- If the target path (
mindustryPath) is a Steam/non-JAR installation, it runsMindustry.exe. - Otherwise, it runs the client JAR (e.g.,
client-[mindustryVersion].jar) usingjava -jar ... -debug.- Note: When launching the non-Steam client JAR this way, Mindustry's console output will be displayed directly in your IDE/terminal. This is not possible with the Steam version due to how Steam launches applications.
- If the target path (
- Sets
MINDUSTRY_DATA_DIRto the appropriate data/saves directory andDEVELOPMENT=trueenvironment variables for the game instance.
- Ensures the Mindustry client is available by running
-
tools:proc: Runs the asset processing pipeline (defined in thetoolsmodule), processing files frommain/assets-raw/tomain/assets/. -
main:fetchComps: Downloads and adapts Mindustry's core entity components into a temporary build directory for compilation. Fetched components are placed in theomaloon/fetched/package. -
updateBundles: Synchronizes localization (bundle) files inmain/assets/bundles/based onbundle.properties. Changes are automatically committed and pushed by the CI workflow if changes are detected. -
clean: Deletes allbuilddirectories across all modules.
Never use implementation for Mindustry/Arc groups and their submodules. There's a reason they're compileOnly; they're only present in compilation and excluded from the final JARs, as on runtime they're resolved from the game instance itself. Other JAR-mod dependencies must also use
compileOnly. Only ever use implementation for external Java libraries that must be bundled with your mod.
This project's source codes (files located under main/src/**) and assets (files located under main/assets/** and main/assets-raw/**) are licensed under GNU GPL v3, unless explicitly stated otherwise (usually on file headers). The copyright notice is as follows:
Omaloon: A Mindustry Java mod. Copyright (C) 2024 stabu-dev, uujuju1, zelaux, randomguy, saigononozomi This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.
