// Path: src/main/java/org/cyclops/colossalchests/GeneralConfig.java
// public class GeneralConfig extends DummyConfig {
// 
//     @ConfigurableProperty(category = "core", comment = "If the recipe loader should crash when finding invalid recipes.", requiresMcRestart = true, configLocation = ModConfig.Type.SERVER)
//     public static boolean crashOnInvalidRecipe = false;
// 
//     @ConfigurableProperty(category = "core", comment = "If mod compatibility loader should crash hard if errors occur in that process.", requiresMcRestart = true, configLocation = ModConfig.Type.SERVER)
//     public static boolean crashOnModCompatCrash = false;
// 
//     @ConfigurableProperty(category = "core", comment = "If an anonymous mod startup analytics request may be sent to our analytics service.")
//     public static boolean analytics = true;
// 
//     @ConfigurableProperty(category = "core", comment = "If the version checker should be enabled.")
//     public static boolean versionChecker = true;
// 
//     @ConfigurableProperty(category = "general", comment = "If items should be ejected from the chests if one of the structure blocks are removed.", configLocation = ModConfig.Type.SERVER)
//     public static boolean ejectItemsOnDestroy = false;
// 
//     @ConfigurableProperty(category = "general", comment = "If the higher tier metal variants (including diamond and obsidian) can be crafted.", configLocation = ModConfig.Type.SERVER)
//     public static boolean metalVariants = true;
// 
//     @ConfigurableProperty(category = "core", comment = "Maximum buffer byte size for adaptive inventory slots fragmentation.")
//     public static int maxPacketBufferSize = 20000;
// 
//     @ConfigurableProperty(category = "general", comment = "If the interface input overlay should always be rendered on chests.", isCommandable = true, configLocation = ModConfig.Type.CLIENT)
//     public static boolean alwaysShowInterfaceOverlay = true;
// 
//     @ConfigurableProperty(category = "general", comment = "Always create full creative-mode chests when formed. Should not be used in survival worlds!", isCommandable = true, configLocation = ModConfig.Type.SERVER)
//     public static boolean creativeChests = false;
// 
//     public GeneralConfig() {
//         super(ColossalChests._instance, "general");
//     }
// 
//     @Override
//     public void onRegistered() {
//         getMod().putGenericReference(ModBase.REFKEY_CRASH_ON_INVALID_RECIPE, GeneralConfig.crashOnInvalidRecipe);
//         getMod().putGenericReference(ModBase.REFKEY_CRASH_ON_MODCOMPAT_CRASH, GeneralConfig.crashOnModCompatCrash);
// 
//         if(analytics) {
//             Analytics.registerMod(getMod(), Reference.GA_TRACKING_ID);
//         }
//         if(versionChecker) {
//             Versions.registerMod(getMod(), ColossalChests._instance, Reference.VERSION_URL);
//         }
//     }
// 
// }
// 
// Path: src/main/java/org/cyclops/colossalchests/Reference.java
// @SuppressWarnings("javadoc")
// public class Reference {
// 	
//     // Mod info
//     public static final String MOD_ID = "colossalchests";
//     public static final String GA_TRACKING_ID = "UA-65307010-5";
//     public static final String VERSION_URL = "https://raw.githubusercontent.com/CyclopsMC/Versions/master/" + MinecraftHelpers.getMinecraftVersionMajorMinor() + "/ColossalChests.txt";
//     
//     // Paths
//     public static final String TEXTURE_PATH_GUI = "textures/gui/";
//     public static final String TEXTURE_PATH_SKINS = "textures/skins/";
//     public static final String TEXTURE_PATH_MODELS = "textures/models/";
//     public static final String TEXTURE_PATH_ENTITIES = "textures/entities/";
//     public static final String TEXTURE_PATH_GUIBACKGROUNDS = "textures/gui/title/background/";
//     public static final String TEXTURE_PATH_ITEMS = "textures/items/";
//     public static final String TEXTURE_PATH_PARTICLES = "textures/particles/";
//     public static final String MODEL_PATH = "models/";
//     
//     // MOD ID's
//     public static final String MOD_IRONCHEST = "ironchest";
//     public static final String MOD_COMMONCAPABILITIES = "commoncapabilities";
// }


import com.google.gson.JsonObject;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.crafting.conditions.ICondition;
import net.minecraftforge.common.crafting.conditions.IConditionSerializer;
import org.cyclops.colossalchests.GeneralConfig;
import org.cyclops.colossalchests.Reference;
package org.cyclops.colossalchests.recipe.condition;


/**
 * A recipe condition for checking if the {@link GeneralConfig#metalVariants} setting is enabled.
 * @author rubensworks
 */
public class RecipeConditionMetalVariantsSetting implements ICondition {

    private static final ResourceLocation NAME = new ResourceLocation(Reference.MOD_ID, "metal_variants_enabled");

    @Override
    public ResourceLocation getID() {
        return NAME;
    }

    @Override
    public boolean test() {
// Path: src/main/java/org/cyclops/colossalchests/GeneralConfig.java
// public class GeneralConfig extends DummyConfig {
// 
//     @ConfigurableProperty(category = "core", comment = "If the recipe loader should crash when finding invalid recipes.", requiresMcRestart = true, configLocation = ModConfig.Type.SERVER)
//     public static boolean crashOnInvalidRecipe = false;
// 
//     @ConfigurableProperty(category = "core", comment = "If mod compatibility loader should crash hard if errors occur in that process.", requiresMcRestart = true, configLocation = ModConfig.Type.SERVER)
//     public static boolean crashOnModCompatCrash = false;
// 
//     @ConfigurableProperty(category = "core", comment = "If an anonymous mod startup analytics request may be sent to our analytics service.")
//     public static boolean analytics = true;
// 
//     @ConfigurableProperty(category = "core", comment = "If the version checker should be enabled.")
//     public static boolean versionChecker = true;
// 
//     @ConfigurableProperty(category = "general", comment = "If items should be ejected from the chests if one of the structure blocks are removed.", configLocation = ModConfig.Type.SERVER)
//     public static boolean ejectItemsOnDestroy = false;
// 
//     @ConfigurableProperty(category = "general", comment = "If the higher tier metal variants (including diamond and obsidian) can be crafted.", configLocation = ModConfig.Type.SERVER)
//     public static boolean metalVariants = true;
// 
//     @ConfigurableProperty(category = "core", comment = "Maximum buffer byte size for adaptive inventory slots fragmentation.")
//     public static int maxPacketBufferSize = 20000;
// 
//     @ConfigurableProperty(category = "general", comment = "If the interface input overlay should always be rendered on chests.", isCommandable = true, configLocation = ModConfig.Type.CLIENT)
//     public static boolean alwaysShowInterfaceOverlay = true;
// 
//     @ConfigurableProperty(category = "general", comment = "Always create full creative-mode chests when formed. Should not be used in survival worlds!", isCommandable = true, configLocation = ModConfig.Type.SERVER)
//     public static boolean creativeChests = false;
// 
//     public GeneralConfig() {
//         super(ColossalChests._instance, "general");
//     }
// 
//     @Override
//     public void onRegistered() {
//         getMod().putGenericReference(ModBase.REFKEY_CRASH_ON_INVALID_RECIPE, GeneralConfig.crashOnInvalidRecipe);
//         getMod().putGenericReference(ModBase.REFKEY_CRASH_ON_MODCOMPAT_CRASH, GeneralConfig.crashOnModCompatCrash);
// 
//         if(analytics) {
//             Analytics.registerMod(getMod(), Reference.GA_TRACKING_ID);
//         }
//         if(versionChecker) {
//             Versions.registerMod(getMod(), ColossalChests._instance, Reference.VERSION_URL);
//         }
//     }
// 
// }
// 
// Path: src/main/java/org/cyclops/colossalchests/Reference.java
// @SuppressWarnings("javadoc")
// public class Reference {
// 	
//     // Mod info
//     public static final String MOD_ID = "colossalchests";
//     public static final String GA_TRACKING_ID = "UA-65307010-5";
//     public static final String VERSION_URL = "https://raw.githubusercontent.com/CyclopsMC/Versions/master/" + MinecraftHelpers.getMinecraftVersionMajorMinor() + "/ColossalChests.txt";
//     
//     // Paths
//     public static final String TEXTURE_PATH_GUI = "textures/gui/";
//     public static final String TEXTURE_PATH_SKINS = "textures/skins/";
//     public static final String TEXTURE_PATH_MODELS = "textures/models/";
//     public static final String TEXTURE_PATH_ENTITIES = "textures/entities/";
//     public static final String TEXTURE_PATH_GUIBACKGROUNDS = "textures/gui/title/background/";
//     public static final String TEXTURE_PATH_ITEMS = "textures/items/";
//     public static final String TEXTURE_PATH_PARTICLES = "textures/particles/";
//     public static final String MODEL_PATH = "models/";
//     
//     // MOD ID's
//     public static final String MOD_IRONCHEST = "ironchest";
//     public static final String MOD_COMMONCAPABILITIES = "commoncapabilities";
// }


// Path: src/main/java/org/cyclops/colossalchests/recipe/condition/RecipeConditionMetalVariantsSetting.java
import com.google.gson.JsonObject;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.common.crafting.conditions.ICondition;
import net.minecraftforge.common.crafting.conditions.IConditionSerializer;
import org.cyclops.colossalchests.GeneralConfig;
import org.cyclops.colossalchests.Reference;

package org.cyclops.colossalchests.recipe.condition;


/**
 * A recipe condition for checking if the {@link GeneralConfig#metalVariants} setting is enabled.
 * @author rubensworks
 */
public class RecipeConditionMetalVariantsSetting implements ICondition {

    private static final ResourceLocation NAME = new ResourceLocation(Reference.MOD_ID, "metal_variants_enabled");

    @Override
    public ResourceLocation getID() {
        return NAME;
    }

    @Override
    public boolean test() {
        return GeneralConfig.metalVariants;