Soncresity Industries Wiki

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 repository

Before setting up the dependency, you need to add our maven repository first:

build.gradle / build.gradle.kts
repositories {
    // Groovy
    maven "https://maven.soncresity.industries/"

    // Kotlin
    maven("https://maven.soncresity.industries/")
}

Adding the dependency

Fabric

Fabric API

The Fabric version of SI: Essentials requires Fabric API! Building your Mod requires Fabric Loom 1.15-SNAPSHOT or higher.

Unstable Releases

Looking for unstable releases to try out new features early? Check out Unstable Releases for more information.

Gradle dependency

build.gradle / build.gradle.kts
// Groovy
modImplementation "dev.soncresityindustries:sies:2.3.2-1.21.11-fabric"
modImplementation "net.fabricmc.fabric-api:fabric-api:0.141.2+1.21.11"

// Kotlin
modImplementation("dev.soncresityindustries:sies:2.3.2-1.21.11-fabric")
modImplementation("net.fabricmc.fabric-api:fabric-api:0.141.2+1.21.11")

fabric.mods.json

fabric.mods.json
"depends": {
  "fabricloader": ">=0.18",
  "minecraft": "1.21.11",
  "fabric-api": ">=0.141.2+1.21.11",
  "sies": ">=2.3.2"
}

NeoForge

Gradle dependency

build.gradle / build.gradle.kts
// Groovy
modImplementation "dev.soncresityindustries:sies:2.3.2-1.21.11-neoforge"

// Kotlin
modImplementation("dev.soncresityindustries:sies:2.3.2-1.21.11-neoforge")

neoforge.mods.toml

neoforge.mods.toml
[[dependencies.your_mod_id]]
modId="sies"
type="required"
versionRange="[2.3.2,)"
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).

On this page