Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Supported environments
Creators
Details
Licensed GPL-3.0-only
Published 2 weeks ago
Updated last week
Radon
This mod is a very easily usable configuration library.
Here's how to use it:
- Add the Modrinth Maven repository to your project:
repositories {
maven {
url = "https://api.modrinth.com/maven"
}
}
- Add Radon to the dependencies of your mod:
dependencies {
modImplementation "maven.modrinth:radon-lib:FIND_THE_LATEST_VERSION_ON_MODRINTH"
}
- Create a class which extends ConfigScreen:
package your.mod;
import me.kitty.radon.api.*;
public class MyConfig extends ConfigScreen {
@Override
public String getScreenTitle() {
return "your screen's title";
}
@Override
protected void radon() {
// you need tabs to create rows
Tab tab = tab("tab's name");
Tab otherTab = tab("second tab");
// you can also create sections
Section section = section(otherTab, "name");
// this is where we create our options
// if you want a boolean or an enum
// then you want to use ButtonRow
enum myEnum {
RADON,
CONFIG
}
ButtonRow buttonRow = buttonRow(
tab,
key("button_row"), // key of the row: Radon will save the content of the row to the disk with this key
"Label of the row",
List.of("Tooltip", "shows when you", "hover the row", "with your mouse"),
myEnum.RADON // either an option of your enum or true or false
);
// you sometimes want to run code, if the button's value is changed
// it's very simple to do that:
buttonRow.subscribe(newValue -> {
// newValue is an object
// but you can cast it into
(boolean) newValue
// or
(myEnum) newValue
// this will probably be made easier
});
// now, comes the slider row
// use this if you want a number
SliderRow sliderRow = sliderRow(
section, // here you can use a section instead of the tab
key("slider_key"),
"Label of the row",
List.of("Tooltip again"),
80, // initial value
50, // minimum value
100 // maximum value
);
// here subscribe gives you a long as newValue
// you can also run code, if Radon loaded the saved value of the option
sliderRow.onInit(() -> {
long value = sliderRow.getValue();
});
// and if you need a string value, use InputRow
InputRow inputRow = inputRow(
tab,
key("input"),
"Label of the row",
List.of("Tooltip"),
"Placeholder",
16 // limit how many characters it can be
);
// subscribe gives newValue as String here
}
}
- Add your class to
fabric.mod.jsonas an entrypoint:
{
"entrypoints": {
"radon": ["your.mod.MyConfig"]
}
}
It's that easy!



