Developing with SI: Essentials
A guide on how to start developing with SI: Essentials
Introduction
SI: Essentials offers many useful features for developers, such as Utility classes, a configuration system, a custom logger and much more.
All of those features are designed to work on both Fabric and NeoForge in the same way to achieve the best possible experience.
If this is not the case, you will see a notice at the top of the page.
API Changes
Classes and Utilities in the dev.soncresityindustries.es.api.v0 package are experimental and may be changed in any update. As soon as they are stable/finished, they will be moved into the latest API package.
Classes and Utilities in v1, v2, etc. packages are stable and will only be changed rarely. If there is a new change, it will move to a newer API package to prevent mods depending on different versions of SI: Essentials from breaking.
At some point announcements will be made that old, deprecated API packages will be removed in (a) future update(s). This may happen due to their contents being heavily outdated, broken or exploitable.
Thank you for your understanding and support.
Getting Started
Adding the dependency
Maven repo
Currently we do not have a Maven repo set up, so you will need to use CurseMaven for the time being.
Of course modrinth is an option too, but we will only be covering CurseForge here.
Fabric
Fabric API
The Fabric version of SI: Essential requires Fabric API!
Building the Mod requires Fabric Loom 1.15-SNAPSHOT or higher.
Gradle dependency
// Groovy
modImplementation "curse.maven:sies-1306319:7900770"
modImplementation "net.fabricmc.fabric-api:fabric-api:0.141.2+1.21.11"
// Kotlin
modImplementation("curse.maven:sies-1306319:7900770")
modImplementation("net.fabricmc.fabric-api:fabric-api:0.141.2+1.21.11")fabric.mods.json
"depends": {
"fabricloader": ">=0.18",
"minecraft": "1.21.11",
"fabric-api": ">=0.141.2+1.21.11",
"sies": ">=2.3.0"
}NeoForge
Gradle dependency
// Groovy
modImplementation "curse.maven:sies-1306319:7900774"
// Kotlin
modImplementation("curse.maven:sies-1306319:7900774")neoforge.mods.toml
[[dependencies.your_mod_id]]
modId="sies"
type="required"
versionRange="[2.3.0,)"
ordering="AFTER"
side="BOTH"Next steps
For your next steps, we recommend setting up our custom Logger and (re)writing your configs using the Configuration API.
If you run into any issues, need help setting everything up, or don't understand something, don't hesitate to message us on Discord or create a ticket on our Support page (Coming soon).