package com.micle.loginprotection.setup; import net.minecraftforge.common.ForgeConfigSpec; import net.minecraftforge.fml.ModLoadingContext; import net.minecraftforge.fml.config.ModConfig; public class Config { public static ForgeConfigSpec SERVER_CONFIG; public static ForgeConfigSpec.BooleanValue POST_GRACE_ENABLED; public static ForgeConfigSpec.IntValue POST_GRACE_DURATION; public static ForgeConfigSpec.BooleanValue POST_DROWN_ENABLED; public static ForgeConfigSpec.BooleanValue POST_WATER_ENABLED; public static ForgeConfigSpec.IntValue POST_WATER_DURATION; public static ForgeConfigSpec.BooleanValue POST_LAVA_ENABLED; public static ForgeConfigSpec.IntValue POST_LAVA_DURATION; public static ForgeConfigSpec.BooleanValue POST_FIRE_ENABLED; public static ForgeConfigSpec.IntValue POST_FIRE_DURATION; public static void init() { initServer(); ModLoadingContext.get().registerConfig(ModConfig.Type.SERVER, SERVER_CONFIG); } private static void initServer() { ForgeConfigSpec.Builder builder = new ForgeConfigSpec.Builder(); builder.comment("Additional protection settings that apply as soon as a player becomes active.").push("post"); builder.push("grace_period"); POST_GRACE_ENABLED = builder .comment("Whether a player receives a grace period after becoming active or not.") .define("graceEnabled", false); POST_GRACE_DURATION = builder .comment("Grace period duration in seconds.") .defineInRange("graceDuration", 10, 1, Integer.MAX_VALUE/40); builder.pop(); builder.push("water_protection"); POST_DROWN_ENABLED = builder .comment("Whether a player's air supply gets refilled.") .define("drownEnabled", true); POST_WATER_ENABLED = builder .comment("Whether a player receives water breating when in water.") .define("waterEnabled", false); POST_WATER_DURATION = builder .comment("Water breathing duration in seconds.") .defineInRange("waterDuration", 10, 1, Integer.MAX_VALUE/20); builder.pop(); builder.push("lava_protection"); POST_LAVA_ENABLED = builder .comment("Whether a player receives fire resistance when in lava.") .define("lavaEnabled", true); POST_LAVA_DURATION = builder .comment("Fire resistance duration in seconds.") .defineInRange("lavaDuration", 10, 1, Integer.MAX_VALUE/20); builder.pop(); builder.push("fire_protection"); POST_FIRE_ENABLED = builder .comment("Whether a player receives fire resistance when on fire.") .define("fireEnabled", false); POST_FIRE_DURATION = builder .comment("Fire resistance duration in seconds.") .defineInRange("fireDuration", 10, 1, Integer.MAX_VALUE/20); builder.pop(); builder.pop(); SERVER_CONFIG = builder.build(); } }