No description
Find a file
farpo 040be63d59
All checks were successful
Build / build (push) Successful in 59s
Bump version
2026-09-04 19:48:54 +02:00
.forgejo/workflows fixed ci 2026-08-31 17:01:44 +02:00
gradle/wrapper Initial commit with the base features 2026-08-27 13:35:40 +02:00
src/main Fix keybinds not being applied 2026-09-04 19:48:34 +02:00
.gitattributes Initial commit with the base features 2026-08-27 13:35:40 +02:00
.gitignore Initial commit with the base features 2026-08-27 13:35:40 +02:00
build.gradle Add correct repository to buildscript 2026-08-31 17:03:19 +02:00
gradle.properties Bump version 2026-09-04 19:48:54 +02:00
gradlew Initial commit with the base features 2026-08-27 13:35:40 +02:00
gradlew.bat Initial commit with the base features 2026-08-27 13:35:40 +02:00
LICENSE Updated LICENSE 2026-08-31 15:37:21 +02:00
README.md Added instructions to readme 2026-08-31 17:14:42 +02:00
settings.gradle Initial commit with the base features 2026-08-27 13:35:40 +02:00

Setthings

An option manager. Still in development - many features are planned.

Features

  • Profiles - save sets of option values
  • Extensible - add-ons can add new options that can be saved to profiles
    • Options added by extensions are preserved, even when the add-on is removed

Currently supported settings:

  • Keybinds (vanilla and modded)
  • Fov
  • Sound Volumes
  • Render and Simulation distance
  • Toggle Crouch and Toggle Sprint
  • Sensitivity More will be added as the mod is developed

Usage

A Profiles button is added to the option screen. It opens the profile menu.

Planned

  • Sharing Profiles online - in development
  • Porting to other versions - planned

Add-ons

To add this mod to your dependencies, add the following to your build.gradle:

repositories {
  maven {
      name "nexusrealmsReleases"
      url "https://maven.riftrealms.de/releases"
  }
}
dependencies {
  modImplementation "de.nexusrealms:setthings:${setthings_version}:${minecraft_version}"
}

Defining settings

A setting is defined by several function

  • Its getter
  • Its setter
  • Its default values - a check whether it is default, and a default value supplier
  • Its serializer
  • Its deserializer

Static methods of the Setting class let you create Setting definitions from these functions, or by using helper objects like codecs.

Registration

In your client mod initializer, call SettingRegistry.register() with your Identifier and Setting definition.

Join our discord if you have any questions, you can ping me @Farpo for help