Last active 2 hours ago

flavien revised this gist 2 hours ago. Go to revision

1 file changed, 43 insertions

HorizontalScrollingFixConfigScreen.java(file created)

@@ -0,0 +1,43 @@
1 + package org.dussud.horizontal_scrolling_fix.client;
2 +
3 + import net.minecraft.client.OptionInstance;
4 + import net.minecraft.client.gui.screens.Screen;
5 + import net.uku3lig.ukulib.config.option.CyclingOption;
6 + import net.uku3lig.ukulib.config.option.WidgetCreator;
7 + import net.uku3lig.ukulib.config.screen.AbstractConfigScreen;
8 + import org.dussud.horizontal_scrolling_fix.HorizontalScrollingFix;
9 + import org.dussud.horizontal_scrolling_fix.HorizontalScrollingFixConfig;
10 +
11 + import java.util.List;
12 +
13 + public 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 + }
Newer Older