1 package me.shedaniel.lightoverlay;
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;
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");
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.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());
21 general.addEntry(eb.startColorField("config.lightoverlay-forge.yellowColor", LightOverlayClient.yellowColor).setDefaultValue(0xFFFF00).setSaveConsumer(color -> LightOverlayClient.yellowColor = color).build());
22 general.addEntry(eb.startColorField("config.lightoverlay-forge.redColor", LightOverlayClient.redColor).setDefaultValue(0xFF0000).setSaveConsumer(color -> LightOverlayClient.redColor = color).build());
24 return builder.setSavingRunnable(() -> {
26 LightOverlayClient.saveConfig(LightOverlayClient.configFile);
27 } catch (Exception e) {
30 LightOverlayClient.loadConfig(LightOverlayClient.configFile);