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
    // Releases
    maven "https://maven.soncresity.dev/releases"
    // Snapshots (Alphas, Betas, Pre-Releases)
    maven "https://maven.soncresity.dev/snapshots"

    // Kotlin
    // Releases
    maven("https://maven.soncresity.dev/releases")
    // Snapshots (Alphas, Betas, Pre-Releases)
    maven("https://maven.soncresity.dev/snapshots")
}

Adding the dependency

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

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