Essential Installer is a standalone installer for the Essential Mod. The installer is primarily written in Kotlin and includes a Rust wrapper, which searches for an existing Java install, downloading one if none is found.
The source code of the Essential Installer is accessible to everyone under a Use and Contribution License Agreement.
For assistance with this repository or the installer, please use the dedicated channels available in our Discord.
Before building the Essential Installer, you must have both Rust and a Java 8 JDK installed.
To build the installer, navigate to the installer
folder and run ./gradlew build
.
Depending on your system and internet connection, the first build may take a few minutes.
Once finished, you should be able to find the Installer jar in installer/build/libs/installer.jar
.
For convenience, if using a Jetbrains IDE, such as IntelliJ IDEA, run configurations are provided in the project.
For macOS, a convenience script is provided and can be run by running ./scripts/macos-full.sh
The script will output the location of the final .app.
- Compile the installer JAR
- Move the installer.jar to
wrapper/resources/installer.jar
- Compile the wrapper with
cargo build --release --target x86_64-pc-windows-msvc
(run from withinwrapper
folder) - Find the compiled .exe file in
wrapper/target/x86_64-pc-windows-msvc/release/
.
The installer was written with customization in mind from the start, to allow the community to use it for their own projects. There are already many configurable things, but many more are currently still being developed and various refactors are currently planned/in the works. If you are planning to adapt this for your project, we advise you to wait for future updates which will make that much easier. Currently, much of the customization is not yet documented; such documentation and more proper guides will be added in the future.
For configurability, see:
- wrapper/resources/info
- installer/src/main/resources
- Documentation in MetadataManager
The Use and Contribution License Agreement allows you to modify, create, fork, and use new versions of our Essential Installer mod in accordance with the GPL-3 License. However, if you submit a pull request with changes or additions to the main Essential Installer repository, subject to the terms of the license, you transfer the copyright and ownership of those changes to Essential. This introduction is for summary purposes only and does not constitute part of the agreement.