# 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=andesite and oreName=stoneAndesite [default: true]
            B:andesite=true

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            # Enable ICarvingGroup with name=bookshelf_birch and oreName=bookshelfBirch [default: true]
            B:bookshelf_birch=true
            B:bookshelf_dark-oak=true

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

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

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

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

            # Enable ICarvingGroup with name=bricks [default: true]
            B:bricks=true
            B:carpet=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 and oreName=cobblestone [default: true]
            B:cobblestone=true

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

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

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

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

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

            # Enable ICarvingGroup with name=endstone and oreName=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 and oreName=blockGlassColorless [default: true]
            B:glass=true

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            # Enable ICarvingGroup with name=hardenedclay and oreName=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=lapis and oreName=blockLapis [default: true]
            B:lapis=true

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

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

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

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

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

            # Enable ICarvingGroup with name=obsidian and oreName=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 and oreName=prismarine [default: true]
            B:prismarine=true

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

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

            # Enable ICarvingGroup with name=redstone and oreName=blockRedstone [default: true]
            B:redstone=true
            B:sandstone=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=stonebrick and oreName=stone [default: true]
            B:stonebrick=true

            # Enable ICarvingGroup with name=temple [default: true]
            B:temple=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
    }

}


