Last active 3 hours ago

Revision cd7bb448b86bd5d2f415519580de86edadc22487

HorizontalScrollingFixConfigScreen.java Raw
1package org.dussud.horizontal_scrolling_fix.client;
2
3import net.minecraft.client.OptionInstance;
4import net.minecraft.client.gui.screens.Screen;
5import net.uku3lig.ukulib.config.option.CyclingOption;
6import net.uku3lig.ukulib.config.option.WidgetCreator;
7import net.uku3lig.ukulib.config.screen.AbstractConfigScreen;
8import org.dussud.horizontal_scrolling_fix.HorizontalScrollingFix;
9import org.dussud.horizontal_scrolling_fix.HorizontalScrollingFixConfig;
10
11import java.util.List;
12
13public class HorizontalScrollingFixConfigScreen extends AbstractConfigScreen<HorizontalScrollingFixConfig> {
14 protected HorizontalScrollingFixConfigScreen(Screen parent) {
15 super("horizontal-scrolling-fix.config.title", parent, HorizontalScrollingFix.manager);
16 }
17
18 @Override
19 protected WidgetCreator[] getWidgets(HorizontalScrollingFixConfig config) {
20 CyclingOption<Boolean> horizontalScrollingEnabled = CyclingOption.ofBoolean(
21 "horizontal-scrolling-fix.option.horizontalScrollingEnabled",
22 config.isHorizontalScrollingEnabled(),
23 value -> {
24 config.enableHorizontalScrolling(value);
25 rebuildWidgets();
26 }
27 );
28 CyclingOption<Boolean> horizontalScrollingDirectionReversed = new CyclingOption<Boolean>(
29 "horizontal-scrolling-fix.option.horizontalScrollingDirectionReversed",
30 List.of(Boolean.TRUE, Boolean.FALSE),
31 config.isHorizontalScrollingDirectionReversed(),
32 config::reverseHorizontalScrollingDirection,
33 CyclingOption.BOOL_TO_TEXT,
34 OptionInstance.noTooltip(),
35 config.isHorizontalScrollingEnabled()
36 );
37
38 return new WidgetCreator[]{
39 horizontalScrollingEnabled.wide(),
40 horizontalScrollingDirectionReversed.wide()
41 };
42 }
43}
44