]> git.lizzy.rs Git - LightOverlay.git/blob - forge/src/main/java/me/shedaniel/lightoverlay/forge/LightOverlayCloth.java
3c22c9e2629f0e13c683704dab976d1d223c947e
[LightOverlay.git] / forge / src / main / java / me / shedaniel / lightoverlay / forge / LightOverlayCloth.java
1 package me.shedaniel.lightoverlay.forge;
2
3 import me.shedaniel.forge.clothconfig2.api.ConfigBuilder;
4 import me.shedaniel.forge.clothconfig2.api.ConfigCategory;
5 import me.shedaniel.forge.clothconfig2.api.ConfigEntryBuilder;
6 import net.minecraft.util.math.MathHelper;
7 import net.minecraftforge.fml.ExtensionPoint;
8 import net.minecraftforge.fml.ModLoadingContext;
9
10 public class LightOverlayCloth {
11     public static void register() {
12         ModLoadingContext.get().registerExtensionPoint(ExtensionPoint.CONFIGGUIFACTORY, () -> (client, parent) -> {
13             ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle("key.lightoverlay.category");
14             
15             ConfigEntryBuilder eb = builder.getEntryBuilder();
16             ConfigCategory general = builder.getOrCreateCategory("config.lightoverlay-forge.general");
17             general.addEntry(eb.startIntSlider("config.lightoverlay-forge.reach", LightOverlayClient.reach, 1, 64).setDefaultValue(12).setTextGetter(integer -> "Reach: " + integer + " Blocks").setSaveConsumer(integer -> LightOverlayClient.reach = integer).build());
18             general.addEntry(eb.startIntSlider("config.lightoverlay-forge.crossLevel", LightOverlayClient.crossLevel, 0, 15).setDefaultValue(7).setTextGetter(integer -> "Cross Level: " + integer).setSaveConsumer(integer -> LightOverlayClient.crossLevel = integer).build());
19             general.addEntry(eb.startBooleanToggle("config.lightoverlay-forge.showNumber", LightOverlayClient.showNumber).setDefaultValue(false).setSaveConsumer(bool -> LightOverlayClient.showNumber = bool).build());
20             general.addEntry(eb.startBooleanToggle("config.lightoverlay-forge.smoothLines", LightOverlayClient.smoothLines).setDefaultValue(true).setSaveConsumer(bool -> LightOverlayClient.smoothLines = bool).build());
21             general.addEntry(eb.startBooleanToggle("config.lightoverlay-forge.underwater", LightOverlayClient.underwater).setDefaultValue(false).setSaveConsumer(bool -> LightOverlayClient.underwater = bool).build());
22             general.addEntry(eb.startIntSlider("config.lightoverlay-forge.lineWidth", MathHelper.floor(LightOverlayClient.lineWidth * 100), 100, 700).setDefaultValue(100).setTextGetter(integer -> "Light Width: " + LightOverlayClient.FORMAT.format(integer / 100d)).setSaveConsumer(integer -> LightOverlayClient.lineWidth = integer / 100f).build());
23             general.addEntry(eb.startColorField("config.lightoverlay-forge.yellowColor", LightOverlayClient.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlayClient.yellowColor = color).build());
24             general.addEntry(eb.startColorField("config.lightoverlay-forge.redColor", LightOverlayClient.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlayClient.redColor = color).build());
25             
26             return builder.setSavingRunnable(() -> {
27                 try {
28                     LightOverlayClient.saveConfig(LightOverlayClient.configFile);
29                 } catch (Exception e) {
30                     e.printStackTrace();
31                 }
32                 LightOverlayClient.loadConfig(LightOverlayClient.configFile);
33             }).build();
34         });
35     }
36 }