package com.techern.minecraft;

import com.techern.minecraft.ia.blocks.IABlocks;
import com.techern.minecraft.ia.proxy.CommonProxy;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

/**
 * A {@link net.minecraftforge.fml.common.Mod} for additional igneous rock blocks
 *
 * @since 0.0.1
 */
@Mod(modid = "igneous_extras", version = IgneousExtrasMod.VERSION)
public class IgneousExtrasMod {

    /**
     * The version {@link String}
     *
     * @since 0.0.1
     */
    public static final String VERSION = "0.0.1-SNAPSHOT";

    /**
     * The {@link Logger} for this mod
     *
     * Gets replaced in {@link IgneousExtrasMod#handlePreInitEvent(FMLPreInitializationEvent)}
     *
     * @since 0.0.1
     */
    public static Logger LOGGER = LogManager.getLogger(IgneousExtrasMod.class);

    /**
     * A {@link SidedProxy} of either {@link CommonProxy} or {@link com.techern.minecraft.ia.proxy.ClientProxy}
     *
     * @since 0.0.1
     */
    @SidedProxy(clientSide = "com.techern.minecraft.ia.proxy.ClientProxy",
                serverSide = "com.techern.minecraft.ia.proxy.CommonProxy")
    public static CommonProxy PROXY;

    /**
     * Handles the {@link FMLPreInitializationEvent}
     *
     * @param event The {@link FMLPreInitializationEvent}
     * @since 0.0.1
     */
    @Mod.EventHandler
    public void handlePreInitEvent(FMLPreInitializationEvent event) {
        LOGGER = event.getModLog();
        LOGGER.info("Set up logging for Igneous Extras! :D");
    }

    /**
     * Handles the {@link FMLInitializationEvent}
     *
     * @param event The {@link FMLInitializationEvent}
     * @since 0.0.1
     */
    @Mod.EventHandler
    public void handleInitEvent(FMLInitializationEvent event) {
        IABlocks.registerBlocks();
    }

    /**
     * Handles the {@link FMLPostInitializationEvent}
     *
     * @param event The {@link FMLPostInitializationEvent}
     * @since 0.0.1
     */
    @Mod.EventHandler
    public void handlePostInitEvent(FMLPostInitializationEvent event) {
        IABlocks.registerRecipes();
    }

}

@@ -121,24 +121,79 @@
 ommonProxy;%0A
+import net.minecraftforge.common.config.Configuration;%0A
 import net.m
@@ -222,16 +222,16 @@
 on.Mod;%0A
-
 import n
@@ -1518,16 +1518,207 @@
 PROXY;%0A%0A
+    /**%0A     * The %7B@link Configuration%7D (backed by a %7B@link java.io.File%7D used by %7B@link IgneousExtrasMod%7D%0A     *%0A     * @since 0.0.1%0A     */%0A    public static Configuration CONFIGURATION;%0A%0A
     /**%0A
@@ -2010,28 +2010,189 @@
 GER.
-info(%22Set up logging
+debug(%22Attempting to load configuration file...%22);%0A%0A        CONFIGURATION = new Configuration(event.getSuggestedConfigurationFile());%0A%0A        LOGGER.info(%22Loaded configuration file
  for
@@ -2210,12 +2210,8 @@
 tras
-! :D
 %22);%0A
@@ -2735,32 +2735,32 @@
 nEvent event) %7B%0A
-
         IABlocks
@@ -2775,21 +2775,208 @@
 rRecipes();%0A
+        if (CONFIGURATION.hasChanged()) %7B%0A            LOGGER.info(%22Igneous Additions found extra / changed configuration, and is now saving%22);%0A            CONFIGURATION.save();%0A        %7D%0A
     %7D%0A%0A%7D%0A

Set a configuration file