Radon
A configuration library which is super easy to use
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
Radon
Radon
This mod is a very easily usable configuration library.
Here's how to use it: - Add the Modrinth Maven repository to your project: ```groovy repositories { maven { url = "https://api.modrinth.com/maven" } } ``` - Add Radon to the dependencies of your mod: ```groovy dependencies { modImplementation "maven.modrinth:radon-lib:FIND_THE_LATEST_VERSION_ON_MODRINTH" } ``` - Create a class which extends ConfigScreen: ```java 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.json`` as an entrypoint: ```json { "entrypoints": { "radon": ["your.mod.MyConfig"] } } ``` It's that easy!