// Path: src/main/java/org/cyclops/colossalchests/ColossalChests.java
// @Mod(Reference.MOD_ID)
// public class ColossalChests extends ModBaseVersionable<ColossalChests> {
//     
//     /**
//      * The unique instance of this mod.
//      */
//     public static ColossalChests _instance;
// 
//     public ColossalChests() {
//         super(Reference.MOD_ID, (instance) -> _instance = instance);
//     }
// 
//     @Override
//     protected void loadModCompats(ModCompatLoader modCompatLoader) {
//         modCompatLoader.addModCompat(new IronChestModCompat());
//         modCompatLoader.addModCompat(new CommonCapabilitiesModCompat());
//     }
// 
//     @Override
//     protected void setup(FMLCommonSetupEvent event) {
//         super.setup(event);
//         Advancements.load();
//     }
// 
//     @Override
//     @OnlyIn(Dist.CLIENT)
//     protected IClientProxy constructClientProxy() {
//         return new ClientProxy();
//     }
// 
//     @Override
//     protected ICommonProxy constructCommonProxy() {
//         return new CommonProxy();
//     }
// 
//     @Override
//     public ItemGroup constructDefaultItemGroup() {
//         return new ItemGroupMod(this, () -> RegistryEntries.ITEM_CHEST);
//     }
// 
//     @Override
//     protected void onConfigsRegister(ConfigHandler configHandler) {
//         super.onConfigsRegister(configHandler);
// 
//         configHandler.addConfigurable(new GeneralConfig());
// 
//         for (ChestMaterial material : ChestMaterial.VALUES) {
//             configHandler.addConfigurable(new ChestWallConfig(material));
//             configHandler.addConfigurable(new ColossalChestConfig(material));
//             configHandler.addConfigurable(new InterfaceConfig(material));
//         }
// 
//         configHandler.addConfigurable(new UncolossalChestConfig());
//         configHandler.addConfigurable(new ItemUpgradeToolConfig(true));
//         configHandler.addConfigurable(new ItemUpgradeToolConfig(false));
// 
//         configHandler.addConfigurable(new TileColossalChestConfig());
//         configHandler.addConfigurable(new TileInterfaceConfig());
//         configHandler.addConfigurable(new TileUncolossalChestConfig());
// 
//         configHandler.addConfigurable(new ContainerColossalChestConfig());
//         configHandler.addConfigurable(new ContainerUncolossalChestConfig());
// 
//         configHandler.addConfigurable(new RecipeConditionMetalVariantsSettingConfig());
//     }
// 
//     /**
//      * Log a new info message for this mod.
//      * @param message The message to show.
//      */
//     public static void clog(String message) {
//         clog(Level.INFO, message);
//     }
//     
//     /**
//      * Log a new message of the given level for this mod.
//      * @param level The level in which the message must be shown.
//      * @param message The message to show.
//      */
//     public static void clog(Level level, String message) {
//         ColossalChests._instance.getLoggerHelper().log(level, message);
//     }
//     
// }
// 
// Path: src/main/java/org/cyclops/colossalchests/item/ItemBlockMaterial.java
// public class ItemBlockMaterial extends BlockItem {
// 
//     private final ChestMaterial material;
// 
//     public ItemBlockMaterial(Block block, Properties builder, ChestMaterial material) {
//         super(block, builder);
//         this.material = material;
//     }
// 
//     @Override
//     public void addInformation(ItemStack itemStack, World world, List<ITextComponent> list, ITooltipFlag flag) {
//         list.add(new TranslationTextComponent(material.getUnlocalizedName()).mergeStyle(TextFormatting.BLUE));
//         super.addInformation(itemStack, world, list, flag);
// 
//     }
// }


import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.cyclops.colossalchests.ColossalChests;
import org.cyclops.colossalchests.item.ItemBlockMaterial;
import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;
package org.cyclops.colossalchests.block;


/**
 * Config for the {@link ChestWall}.
 * @author rubensworks
 *
 */
public class ChestWallConfig extends BlockConfig {

    public ChestWallConfig(ChestMaterial material) {
        super(
                ColossalChests._instance,
            "chest_wall_" + material.getName(),
                eConfig -> new ChestWall(Block.Properties.create(Material.ROCK)
                        .hardnessAndResistance(5.0F)
// Path: src/main/java/org/cyclops/colossalchests/ColossalChests.java
// @Mod(Reference.MOD_ID)
// public class ColossalChests extends ModBaseVersionable<ColossalChests> {
//     
//     /**
//      * The unique instance of this mod.
//      */
//     public static ColossalChests _instance;
// 
//     public ColossalChests() {
//         super(Reference.MOD_ID, (instance) -> _instance = instance);
//     }
// 
//     @Override
//     protected void loadModCompats(ModCompatLoader modCompatLoader) {
//         modCompatLoader.addModCompat(new IronChestModCompat());
//         modCompatLoader.addModCompat(new CommonCapabilitiesModCompat());
//     }
// 
//     @Override
//     protected void setup(FMLCommonSetupEvent event) {
//         super.setup(event);
//         Advancements.load();
//     }
// 
//     @Override
//     @OnlyIn(Dist.CLIENT)
//     protected IClientProxy constructClientProxy() {
//         return new ClientProxy();
//     }
// 
//     @Override
//     protected ICommonProxy constructCommonProxy() {
//         return new CommonProxy();
//     }
// 
//     @Override
//     public ItemGroup constructDefaultItemGroup() {
//         return new ItemGroupMod(this, () -> RegistryEntries.ITEM_CHEST);
//     }
// 
//     @Override
//     protected void onConfigsRegister(ConfigHandler configHandler) {
//         super.onConfigsRegister(configHandler);
// 
//         configHandler.addConfigurable(new GeneralConfig());
// 
//         for (ChestMaterial material : ChestMaterial.VALUES) {
//             configHandler.addConfigurable(new ChestWallConfig(material));
//             configHandler.addConfigurable(new ColossalChestConfig(material));
//             configHandler.addConfigurable(new InterfaceConfig(material));
//         }
// 
//         configHandler.addConfigurable(new UncolossalChestConfig());
//         configHandler.addConfigurable(new ItemUpgradeToolConfig(true));
//         configHandler.addConfigurable(new ItemUpgradeToolConfig(false));
// 
//         configHandler.addConfigurable(new TileColossalChestConfig());
//         configHandler.addConfigurable(new TileInterfaceConfig());
//         configHandler.addConfigurable(new TileUncolossalChestConfig());
// 
//         configHandler.addConfigurable(new ContainerColossalChestConfig());
//         configHandler.addConfigurable(new ContainerUncolossalChestConfig());
// 
//         configHandler.addConfigurable(new RecipeConditionMetalVariantsSettingConfig());
//     }
// 
//     /**
//      * Log a new info message for this mod.
//      * @param message The message to show.
//      */
//     public static void clog(String message) {
//         clog(Level.INFO, message);
//     }
//     
//     /**
//      * Log a new message of the given level for this mod.
//      * @param level The level in which the message must be shown.
//      * @param message The message to show.
//      */
//     public static void clog(Level level, String message) {
//         ColossalChests._instance.getLoggerHelper().log(level, message);
//     }
//     
// }
// 
// Path: src/main/java/org/cyclops/colossalchests/item/ItemBlockMaterial.java
// public class ItemBlockMaterial extends BlockItem {
// 
//     private final ChestMaterial material;
// 
//     public ItemBlockMaterial(Block block, Properties builder, ChestMaterial material) {
//         super(block, builder);
//         this.material = material;
//     }
// 
//     @Override
//     public void addInformation(ItemStack itemStack, World world, List<ITextComponent> list, ITooltipFlag flag) {
//         list.add(new TranslationTextComponent(material.getUnlocalizedName()).mergeStyle(TextFormatting.BLUE));
//         super.addInformation(itemStack, world, list, flag);
// 
//     }
// }


// Path: src/main/java/org/cyclops/colossalchests/block/ChestWallConfig.java
import net.minecraft.block.Block;
import net.minecraft.block.SoundType;
import net.minecraft.block.material.Material;
import net.minecraft.item.BlockItem;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import org.cyclops.colossalchests.ColossalChests;
import org.cyclops.colossalchests.item.ItemBlockMaterial;
import org.cyclops.cyclopscore.config.extendedconfig.BlockConfig;

package org.cyclops.colossalchests.block;


/**
 * Config for the {@link ChestWall}.
 * @author rubensworks
 *
 */
public class ChestWallConfig extends BlockConfig {

    public ChestWallConfig(ChestMaterial material) {
        super(
                ColossalChests._instance,
            "chest_wall_" + material.getName(),
                eConfig -> new ChestWall(Block.Properties.create(Material.ROCK)
                        .hardnessAndResistance(5.0F)
                        .sound(SoundType.WOOD)