# Configuration file

enabledmappers {
    # Allows other Mods to add Recipes to the EMC Calculation. [default: true]
    B:APICustomConversionMapper=true

    # Allows other mods to set EMC values using the ProjectEAPI [default: true]
    B:APICustomEMCMapper=true

    # Add mappings for Blocks that are created with Chisel. [default: true]
    B:Chisel2Mapper=true

    # Add Conversions for Crafting Recipes gathered from net.minecraft.item.crafting.CraftingManager [default: true]
    B:CraftingMapper=true

    # Uses json files within config/ProjectE/customConversions/ to add values and conversions [default: true]
    B:CustomConversionMapper=true

    # Uses the `custom_emc.json` File to add EMC values. [default: true]
    B:CustomEMCMapper=true

    # Adds Conversions for fluid container items and fluids. [default: true]
    B:FluidMapper=true

    # Blacklist some OreDictionary names from getting an EMC value [default: true]
    B:OreDictionaryMapper=true

    # Add Conversions for `FurnaceRecipes` [default: true]
    B:SmeltingMapper=true
}


general {
    # Want to take a look at the internals of EMC Calculation? Enable this to write all the conversions and setValue-Commands to config/ProjectE/mappingdump.json [default: false]
    B:dumpEverythingToFile=false

    # Log known EMC Exploits. This can not and will not find all possible exploits. This will only find exploits that result in fixed/custom emc values that the algorithm did not overwrite. Exploits that derive from conversions that are unknown to ProjectE will not be found. [default: true]
    B:logEMCExploits=true

    # When the next EMC mapping occurs write the results to config/ProjectE/pregenerated_emc.json and only ever run the mapping again when that file does not exist, this setting is set to false, or an error occurred parsing that file. [default: false]
    B:pregenerate=false
}


mapperconfigurations {

    oredictionarymapper {
        # Set EMC=0 for everything that has an OD Name that starts with `ore`, `dust` or `crushed` besides `dustPlastic` [default: true]
        B:blacklistOresAndDusts=true
    }

    chisel2mapper {

        enablecarvinggroups {
            # Enable ICarvingGroup with name=aluminum_scaffold [default: true]
            B:aluminum_scaffold=true

            # Enable ICarvingGroup with name=andesite [default: true]
            B:andesite=true

            # Enable ICarvingGroup with name=antiblock [default: true]
            B:antiblock=true

            # Enable ICarvingGroup with name=basalt [default: true]
            B:basalt=true

            # Enable ICarvingGroup with name=blockAluminum [default: true]
            B:blockAluminum=true

            # Enable ICarvingGroup with name=blockBronze [default: true]
            B:blockBronze=true

            # Enable ICarvingGroup with name=blockCharcoal [default: true]
            B:blockCharcoal=true

            # Enable ICarvingGroup with name=blockCoal [default: true]
            B:blockCoal=true

            # Enable ICarvingGroup with name=blockCoalCoke [default: true]
            B:blockCoalCoke=true

            # Enable ICarvingGroup with name=blockCobalt [default: true]
            B:blockCobalt=true

            # Enable ICarvingGroup with name=blockCopper [default: true]
            B:blockCopper=true

            # Enable ICarvingGroup with name=blockDiamond [default: true]
            B:blockDiamond=true

            # Enable ICarvingGroup with name=blockElectrum [default: true]
            B:blockElectrum=true

            # Enable ICarvingGroup with name=blockEmerald [default: true]
            B:blockEmerald=true

            # Enable ICarvingGroup with name=blockGold [default: true]
            B:blockGold=true

            # Enable ICarvingGroup with name=blockInvar [default: true]
            B:blockInvar=true

            # Enable ICarvingGroup with name=blockIron [default: true]
            B:blockIron=true

            # Enable ICarvingGroup with name=blockLapis [default: true]
            B:blockLapis=true

            # Enable ICarvingGroup with name=blockLead [default: true]
            B:blockLead=true

            # Enable ICarvingGroup with name=blockNickel [default: true]
            B:blockNickel=true

            # Enable ICarvingGroup with name=blockPlatinum [default: true]
            B:blockPlatinum=true

            # Enable ICarvingGroup with name=blockSilver [default: true]
            B:blockSilver=true

            # Enable ICarvingGroup with name=blockSteel [default: true]
            B:blockSteel=true

            # Enable ICarvingGroup with name=blockTin [default: true]
            B:blockTin=true

            # Enable ICarvingGroup with name=blockUranium [default: true]
            B:blockUranium=true

            # Enable ICarvingGroup with name=block_coal_coke [default: true]
            B:block_coal_coke=true

            # Enable ICarvingGroup with name=bloodMagic [default: true]
            B:bloodMagic=true

            # Enable ICarvingGroup with name=bookshelf_acacia [default: true]
            B:bookshelf_acacia=true

            # Enable ICarvingGroup with name=bookshelf_birch [default: true]
            B:bookshelf_birch=true

            # Enable ICarvingGroup with name=bookshelf_darkoak [default: true]
            B:bookshelf_darkoak=true

            # Enable ICarvingGroup with name=bookshelf_jungle [default: true]
            B:bookshelf_jungle=true

            # Enable ICarvingGroup with name=bookshelf_oak [default: true]
            B:bookshelf_oak=true

            # Enable ICarvingGroup with name=bookshelf_spruce [default: true]
            B:bookshelf_spruce=true

            # Enable ICarvingGroup with name=bricks [default: true]
            B:bricks=true

            # Enable ICarvingGroup with name=brownstone [default: true]
            B:brownstone=true

            # Enable ICarvingGroup with name=carpet_black [default: true]
            B:carpet_black=true

            # Enable ICarvingGroup with name=carpet_blue [default: true]
            B:carpet_blue=true

            # Enable ICarvingGroup with name=carpet_brown [default: true]
            B:carpet_brown=true

            # Enable ICarvingGroup with name=carpet_cyan [default: true]
            B:carpet_cyan=true

            # Enable ICarvingGroup with name=carpet_gray [default: true]
            B:carpet_gray=true

            # Enable ICarvingGroup with name=carpet_green [default: true]
            B:carpet_green=true

            # Enable ICarvingGroup with name=carpet_lightblue [default: true]
            B:carpet_lightblue=true

            # Enable ICarvingGroup with name=carpet_lightgray [default: true]
            B:carpet_lightgray=true

            # Enable ICarvingGroup with name=carpet_lime [default: true]
            B:carpet_lime=true

            # Enable ICarvingGroup with name=carpet_magenta [default: true]
            B:carpet_magenta=true

            # Enable ICarvingGroup with name=carpet_orange [default: true]
            B:carpet_orange=true

            # Enable ICarvingGroup with name=carpet_pink [default: true]
            B:carpet_pink=true

            # Enable ICarvingGroup with name=carpet_purple [default: true]
            B:carpet_purple=true

            # Enable ICarvingGroup with name=carpet_red [default: true]
            B:carpet_red=true

            # Enable ICarvingGroup with name=carpet_white [default: true]
            B:carpet_white=true

            # Enable ICarvingGroup with name=carpet_yellow [default: true]
            B:carpet_yellow=true

            # Enable ICarvingGroup with name=cloud [default: true]
            B:cloud=true

            # Enable ICarvingGroup with name=cobblestone [default: true]
            B:cobblestone=true

            # Enable ICarvingGroup with name=cobblestonemossy [default: true]
            B:cobblestonemossy=true

            # Enable ICarvingGroup with name=concrete_black [default: true]
            B:concrete_black=true

            # Enable ICarvingGroup with name=concrete_blue [default: true]
            B:concrete_blue=true

            # Enable ICarvingGroup with name=concrete_brown [default: true]
            B:concrete_brown=true

            # Enable ICarvingGroup with name=concrete_cyan [default: true]
            B:concrete_cyan=true

            # Enable ICarvingGroup with name=concrete_gray [default: true]
            B:concrete_gray=true

            # Enable ICarvingGroup with name=concrete_green [default: true]
            B:concrete_green=true

            # Enable ICarvingGroup with name=concrete_lightblue [default: true]
            B:concrete_lightblue=true

            # Enable ICarvingGroup with name=concrete_lightgray [default: true]
            B:concrete_lightgray=true

            # Enable ICarvingGroup with name=concrete_lime [default: true]
            B:concrete_lime=true

            # Enable ICarvingGroup with name=concrete_magenta [default: true]
            B:concrete_magenta=true

            # Enable ICarvingGroup with name=concrete_orange [default: true]
            B:concrete_orange=true

            # Enable ICarvingGroup with name=concrete_pink [default: true]
            B:concrete_pink=true

            # Enable ICarvingGroup with name=concrete_purple [default: true]
            B:concrete_purple=true

            # Enable ICarvingGroup with name=concrete_red [default: true]
            B:concrete_red=true

            # Enable ICarvingGroup with name=concrete_white [default: true]
            B:concrete_white=true

            # Enable ICarvingGroup with name=concrete_yellow [default: true]
            B:concrete_yellow=true

            # Enable ICarvingGroup with name=diorite [default: true]
            B:diorite=true

            # Enable ICarvingGroup with name=dirt [default: true]
            B:dirt=true

            # Enable ICarvingGroup with name=endstone [default: true]
            B:endstone=true

            # Enable ICarvingGroup with name=factory [default: true]
            B:factory=true

            # Enable ICarvingGroup with name=futura [default: true]
            B:futura=true

            # Enable ICarvingGroup with name=glass [default: true]
            B:glass=true

            # Enable ICarvingGroup with name=glassdyedblack [default: true]
            B:glassdyedblack=true

            # Enable ICarvingGroup with name=glassdyedblue [default: true]
            B:glassdyedblue=true

            # Enable ICarvingGroup with name=glassdyedbrown [default: true]
            B:glassdyedbrown=true

            # Enable ICarvingGroup with name=glassdyedcyan [default: true]
            B:glassdyedcyan=true

            # Enable ICarvingGroup with name=glassdyedgray [default: true]
            B:glassdyedgray=true

            # Enable ICarvingGroup with name=glassdyedgreen [default: true]
            B:glassdyedgreen=true

            # Enable ICarvingGroup with name=glassdyedlightblue [default: true]
            B:glassdyedlightblue=true

            # Enable ICarvingGroup with name=glassdyedlightgray [default: true]
            B:glassdyedlightgray=true

            # Enable ICarvingGroup with name=glassdyedlime [default: true]
            B:glassdyedlime=true

            # Enable ICarvingGroup with name=glassdyedmagenta [default: true]
            B:glassdyedmagenta=true

            # Enable ICarvingGroup with name=glassdyedorange [default: true]
            B:glassdyedorange=true

            # Enable ICarvingGroup with name=glassdyedpink [default: true]
            B:glassdyedpink=true

            # Enable ICarvingGroup with name=glassdyedpurple [default: true]
            B:glassdyedpurple=true

            # Enable ICarvingGroup with name=glassdyedred [default: true]
            B:glassdyedred=true

            # Enable ICarvingGroup with name=glassdyedwhite [default: true]
            B:glassdyedwhite=true

            # Enable ICarvingGroup with name=glassdyedyellow [default: true]
            B:glassdyedyellow=true

            # Enable ICarvingGroup with name=glowstone [default: true]
            B:glowstone=true

            # Enable ICarvingGroup with name=granite [default: true]
            B:granite=true

            # Enable ICarvingGroup with name=hardenedclay [default: true]
            B:hardenedclay=true

            # Enable ICarvingGroup with name=ice [default: true]
            B:ice=true

            # Enable ICarvingGroup with name=ironpane [default: true]
            B:ironpane=true

            # Enable ICarvingGroup with name=laboratory [default: true]
            B:laboratory=true

            # Enable ICarvingGroup with name=lavastone [default: true]
            B:lavastone=true

            # Enable ICarvingGroup with name=limestone [default: true]
            B:limestone=true

            # Enable ICarvingGroup with name=marble [default: true]
            B:marble=true

            # Enable ICarvingGroup with name=netherbrick [default: true]
            B:netherbrick=true

            # Enable ICarvingGroup with name=netherrack [default: true]
            B:netherrack=true

            # Enable ICarvingGroup with name=obsidian [default: true]
            B:obsidian=true

            # Enable ICarvingGroup with name=paper [default: true]
            B:paper=true

            # Enable ICarvingGroup with name=planks-acacia [default: true]
            B:planks-acacia=true

            # Enable ICarvingGroup with name=planks-birch [default: true]
            B:planks-birch=true

            # Enable ICarvingGroup with name=planks-dark-oak [default: true]
            B:planks-dark-oak=true

            # Enable ICarvingGroup with name=planks-jungle [default: true]
            B:planks-jungle=true

            # Enable ICarvingGroup with name=planks-oak [default: true]
            B:planks-oak=true

            # Enable ICarvingGroup with name=planks-spruce [default: true]
            B:planks-spruce=true

            # Enable ICarvingGroup with name=prismarine [default: true]
            B:prismarine=true

            # Enable ICarvingGroup with name=purpur [default: true]
            B:purpur=true

            # Enable ICarvingGroup with name=quartz [default: true]
            B:quartz=true

            # Enable ICarvingGroup with name=redstone [default: true]
            B:redstone=true

            # Enable ICarvingGroup with name=sandstonered [default: true]
            B:sandstonered=true

            # Enable ICarvingGroup with name=sandstoneyellow [default: true]
            B:sandstoneyellow=true

            # Enable ICarvingGroup with name=steel_scaffold [default: true]
            B:steel_scaffold=true

            # Enable ICarvingGroup with name=stonebrick [default: true]
            B:stonebrick=true

            # Enable ICarvingGroup with name=temple [default: true]
            B:temple=true

            # Enable ICarvingGroup with name=treated_wood [default: true]
            B:treated_wood=true

            # Enable ICarvingGroup with name=tyrian [default: true]
            B:tyrian=true

            # Enable ICarvingGroup with name=valentines [default: true]
            B:valentines=true

            # Enable ICarvingGroup with name=voidstone [default: true]
            B:voidstone=true

            # Enable ICarvingGroup with name=waterstone [default: true]
            B:waterstone=true

            # Enable ICarvingGroup with name=wool_black [default: true]
            B:wool_black=true

            # Enable ICarvingGroup with name=wool_blue [default: true]
            B:wool_blue=true

            # Enable ICarvingGroup with name=wool_brown [default: true]
            B:wool_brown=true

            # Enable ICarvingGroup with name=wool_cyan [default: true]
            B:wool_cyan=true

            # Enable ICarvingGroup with name=wool_gray [default: true]
            B:wool_gray=true

            # Enable ICarvingGroup with name=wool_green [default: true]
            B:wool_green=true

            # Enable ICarvingGroup with name=wool_lightblue [default: true]
            B:wool_lightblue=true

            # Enable ICarvingGroup with name=wool_lightgray [default: true]
            B:wool_lightgray=true

            # Enable ICarvingGroup with name=wool_lime [default: true]
            B:wool_lime=true

            # Enable ICarvingGroup with name=wool_magenta [default: true]
            B:wool_magenta=true

            # Enable ICarvingGroup with name=wool_orange [default: true]
            B:wool_orange=true

            # Enable ICarvingGroup with name=wool_pink [default: true]
            B:wool_pink=true

            # Enable ICarvingGroup with name=wool_purple [default: true]
            B:wool_purple=true

            # Enable ICarvingGroup with name=wool_red [default: true]
            B:wool_red=true

            # Enable ICarvingGroup with name=wool_white [default: true]
            B:wool_white=true

            # Enable ICarvingGroup with name=wool_yellow [default: true]
            B:wool_yellow=true
        }

    }

    customconversionmapper {
        # Read file: ODdefaults.json? [default: true]
        B:ODdefaults=true

        # Read file: defaults.json? [default: true]
        B:defaults=true

        # Read file: metals.json? [default: true]
        B:metals=true

        # Create the default files if they are not present, yet. Will not overwrite them, only create them when they are not present. [default: true]
        B:writeDefaultFiles=true
    }

    craftingmapper {

        irecipeimplementations {
            # Maps custom IRecipe's from ProjectE [default: true]
            B:enablePECustomRecipeMapper=true

            # Maps `IRecipe` crafting recipes that extend `ShapedOreRecipe` or `ShapelessOreRecipe`. This includes CraftingRecipes that use OreDictionary ingredients. [default: true]
            B:enableVanillaOreRecipeMapper=true

            # Maps `IRecipe` crafting recipes that extend `ShapedRecipes` or `ShapelessRecipes` [default: true]
            B:enableVanillaRecipeMapper=true
        }

    }

    smeltingmapper {
        # If X has a value and is smelted from Y, Y will get a value too. This is an experimental thing and might result in Mappings you did not expect/want to happen. [default: false]
        B:doBackwardsMapping=false
    }

}


