Перейти к содержимому
Mineforgian

reconfigure

Configuration library for my mods

Загрузки
4K
Подписчики
6
Обновлён
17 июня 2026 г.
Лицензия
MIT

Опубликован 11 марта 2025 г.

reconfigure

A config library for my mods

Documentation Available for fabric Requires fabric api Available on Modrinth See me on GitHub Chat on Discord

Design goals

  • Uses the builder pattern so all options autocomplete. Just start with Config.builder() and autocompletion will guide you through the whole process of creating a configuration
  • Designed to be used in the field initializers of a config class
  • Does not use annotations for flexibility at runtime

Preview

Basic widgets Advanced widgets

Example definition

class DemoConfig {
    public final Config CONFIG = Config.builder("reconfigure-test")
            .serializer(Serializers.JSON)
            .build();
    public final ConfigTab DEMO_TAB = CONFIG.createTab("demo").build();
    Void HEADLINE = DEMO_TAB.createHeadline("headline");
    public final Property<String> STRING = DEMO_TAB.createStringProperty("string").defaultValue("Hello world")
            .asTextField().placeholder("Enter something").build();
    public final Property<Boolean> CHECKBOX = DEMO_TAB.createBooleanProperty("checkbox").defaultValue(true)
            .asCheckbox().build();
    public final Property<Boolean> TOGGLE_BUTTON = DEMO_TAB.createBooleanProperty("toggle_button")
            .asToggleButton().build();
    public final Property<Integer> SLIDER = DEMO_TAB.createIntegerProperty("slider").defaultValue(4).range(1,10)
            .asSlider().build();

    public final Property<DayOfWeek> CYCLE_BUTTON = DEMO_TAB
            .createEnumProperty("cycle_button", DayOfWeek.class)
            .defaultValue(DayOfWeek.MONDAY)
            .asCyclingButton()
            .build();

    public final Property<Integer> COLOR = DEMO_TAB.createIntegerProperty("color").asColorPicker().build();
    public final Property<String> EDIT_BOX = DEMO_TAB.createStringProperty("box").asEditBox().build();
    public final Property<List<String>> CHIP_LIST = DEMO_TAB.createListProperty("chiplist")
            .asChipList()
            .build();
}

Ченджлог

0.3.2Бета26.2 · 17 июня 2026 г.
  • Updated to Minecraft 26.2
0.3.1Бета26.1, 26.1.1, 26.1.2 · 28 марта 2026 г.
  • Updated to Minecraft 26.1
0.3.0Бета1.21.11 · 9 декабря 2025 г.
  • Updated to Minecraft 1.21.11
  • Used JSpecify annotations
  • The save button is now disabled and shows a tooltip if there are invalid config options
  • The chip list input is now cleared when adding a new entry
  • The chip list entry delete button now has a pointer cursor
0.2.0Бета1.21.10 · 23 ноября 2025 г.
  • Fixed null pointer exception when hovering headlines #2
  • Fixed headline text not being centered when overflowing
  • Migrated to mojang mappings
0.1.17Бета1.21.9 · 3 октября 2025 г.
  • Fixed config title not being centered when there is only a single tab
0.1.16Бета1.21.9 · 2 октября 2025 г.
  • Updated to Minecraft 1.21.9/1.21.10
  • Headline and property names are now cut off properly when too long
    • When headline or property names are overflowing, they are shown in full as a tooltip
  • Improved keyboard navigation order so the widget always comes before the reset button
  • Removed @Deprecated from Config.createScreen
0.1.15Бета1.21.8 · 25 сентября 2025 г.
  • Fixed crash when providing no placeholder to an edit box (#1)
0.1.14Бета1.21.8 · 1 сентября 2025 г.
  • Removed mixin debug export in EditBoxWidgetAccessor

Комментарии

Загружаем…