package lance5057.tDefense; import lance5057.tDefense.util.Color16Util; import net.minecraftforge.common.config.Config; import net.minecraftforge.common.config.ConfigManager; import net.minecraftforge.common.config.Configuration; import net.minecraftforge.fml.client.event.ConfigChangedEvent; import net.minecraftforge.fml.common.Mod; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import scala.Int; import slimeknights.tconstruct.library.materials.Material; @Config(modid = Reference.MOD_ID) public class TD_Config { @Config.Comment("Enable Debug Features") public static boolean debug = false; // public boolean ArmorAddon; // public boolean transparency; // public boolean mossEnabled; // public boolean mossHard; @Config.Name("Shields") public static final Shields shields = new Shields(); @Config.Name("Tools") public static final Tools tools = new Tools(); @Config.Name("Materials") public static final Materials materials = new Materials(); @Config.Name("Addons") public static final Addons addons = new Addons(); public static class Shields { @Config.RequiresMcRestart() @Config.Comment("Enable Shields") public static boolean enableShields= true; @Config.RequiresMcRestart() public static boolean enableHeaterShield= true; @Config.RequiresMcRestart() public static boolean enableBuckler= true; @Config.Comment("How much damage should a shield block percentage wise if the material has no shield data built in?") public static int defaultShieldBlockPercentage = 33; } public static class Tools { @Config.RequiresMcRestart() public static boolean enableZweihander= true; @Config.RequiresMcRestart() public static boolean enableShears= true; @Config.RequiresMcRestart() public static boolean enableFishingRod= true; } public static class Materials { @Config.RequiresMcRestart() public static boolean enableCustomMaterials= true; @Config.RequiresMcRestart() public static boolean enableBaseMaterials= true; @Config.RequiresMcRestart() public static boolean enableJokeMaterials= true; @Config.RequiresMcRestart() public static boolean enableHolidayMaterials= true; @Config.RequiresMcRestart() public static boolean enableGemMaterials= true; @Config.RequiresMcRestart() public static boolean enableBloodMagicMaterials= true; @Config.RequiresMcRestart() public static boolean enableTwilightForestMaterials= true; @Config.RequiresMcRestart() public static boolean enableHarvestCraftMaterials= true; @Config.RequiresMcRestart() public static boolean enableAeonsteel= true; @Config.RequiresMcRestart() public static boolean enableQueensGold= true; @Config.RequiresMcRestart() public static boolean enableDogbearium= true; @Config.RequiresMcRestart() public static boolean enableRedCandy= true; @Config.RequiresMcRestart() public static boolean enableGreenCandy= true; @Config.RequiresMcRestart() public static boolean enableSinisterium= true; @Config.RequiresMcRestart() public static boolean enableNihilite= true; @Config.RequiresMcRestart() public static boolean enableVibrant= true; @Config.RequiresMcRestart() public static boolean enableOrichalcum= true; @Config.RequiresMcRestart() public static boolean enablePandorium= true; @Config.RequiresMcRestart() public static boolean enableRoseGold= true; @Config.RequiresMcRestart() public static boolean enablePlatinum= true; @Config.RequiresMcRestart() public static boolean enableBrass= true; @Config.RequiresMcRestart() public static boolean enableSilver= true; @Config.RequiresMcRestart() public static boolean enableCheese= true; @Config.RequiresMcRestart() public static boolean enableGold= true; } public static class Addons { } public int SoulBoundID; public int DazeID; public int RainbowID; public int XPBoostID; public int ShearFortuneID; public int[] CrestFeathersID; public int[] CrestMirrorsID; public int[] CrestLegendsID; public int[] CrestBladesID; public int[] CrestGluttonyID; public int[] CrestPitchID; public int[] CrestThornsID; public int[] CrestSanguisugaID; public int[] CrestWindsID; public int[] CrestRetributionID; public int[] CrestLightID; //public int JokeInsultID; //public int JokePyrotechID; //public int JokeCompensateID; public int SoulSteveID; public int ArmorProtectionID; public int ArmorFireProtectionID; public int ArmorBlastProtectionID; public int ArmorProjectileProtectionID; public int ArmorFeatherfallID; public int ArmorGlowstepID; public int ArmorFrostwalkerID; public int ArmorFirewalkerID; public int ArmorDepthstriderID; public int ArmorRebreatherID; public int ArmorNightvisionID; public int ArmorAntiBlindnessID; public int ArmorPumpkinID; public int ArmorDodgeID; public int ArmorThornsID; public int ArmorAbsorptionID; public int ArmorJumpboostID; public int ArmorSpeedID; public int ArmorHighstepID; public int ArmorKnockbackResistID; public boolean BotaniaAddon; public int CorpseIvyModID; public int ManaRepairModID; public int TerraCoreModID; public int ArmorPixieCoreModID; public int ArmorManaDiscountModID; // public boolean ThaumcraftAddon; // public int RevealingModID; // public int VisDiscountModID; // public int CapsModID; //public int SpellbindModID; public boolean BloodMagicAddon; public int SuppingModID; public int BloodOathModID; public int ScabbingModID; public int DivinationModID; @Mod.EventBusSubscriber(modid = Reference.MOD_ID) private static class EventHandler { /** * Inject the new values and save to the config file when the config has been changed from the GUI. * * @param event The event */ @SubscribeEvent public static void onConfigChanged(final ConfigChangedEvent.OnConfigChangedEvent event) { if (event.getModID().equals(Reference.MOD_ID)) { ConfigManager.sync(Reference.MOD_ID, Config.Type.INSTANCE); } } } }