# 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 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
    }

    apicustomemcmapper {

        customemcpriorities {
            # Priority for Mod with ModId = equivalentbees. Values: 2 [range: 0 ~ 512, default: 1]
            I:equivalentbeespriority=1

            # Priority for Mod with ModId = equivalentenergistics. Values: 5 [range: 0 ~ 512, default: 1]
            I:equivalentenergisticspriority=1
            I:expequivpriority=1
            I:projecteintegrationpriority=1

            # Priority for Mod with ModId = refinedexchange. Values: 2 [range: 0 ~ 512, default: 1]
            I:refinedexchangepriority=1
        }

        permissions {

            equivalentenergistics {
                # Allow 'equivalentenergistics' to set and or remove values for 'equivalentenergistics'. Options: [both, set, remove, none] [default: both]
                S:equivalentenergistics=both
            }

            refinedexchange {
                # Allow 'refinedexchange' to set and or remove values for 'refinedstorage'. Options: [both, set, remove, none] [default: both]
                S:refinedstorage=both
            }

            expequiv {
                S:IntermediateFakeItemsUsedInRecipes=both
                S:appliedenergistics2=both
                S:astralsorcery=both
                S:botania=both
                S:draconicevolution=both
                S:enderio=both
                S:forestry=both
                S:ic2=both
                S:minecraft=both
                S:mysticalagradditions=both
                S:mysticalagriculture=both
                S:thaumcraft=both
                S:thermalfoundation=both
            }

            equivalentbees {
                # Allow 'equivalentbees' to set and or remove values for 'equivalentbees'. Options: [both, set, remove, none] [default: both]
                S:equivalentbees=both
            }

            projecteintegration {
                S:IntermediateFakeItemsUsedInRecipes=both
                S:biomesoplenty=both
                S:draconicevolution=both
                S:enderio=both
                S:harvestcraft=both
                S:minecraft=both
            }

        }

    }

    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
    }

    craftingmapper {

        irecipeimplementations {
            # Maps `IRecipe` CraftTweaker crafting recipes that extend `MCRecipeShaped` or `MCRecipeShapeless [default: true]
            B:enableCraftTweakerRecipeMapper=true

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

            # Maps `RecipeStage` implementation of `IRecipe` from Recipe Stages [default: true]
            B:enableRecipeStagesRecipeMapper=true

            # Maps `IRecipe` crafting recipes that extend `ShapedRecipes` or `ShapelessRecipes`, and their oredict equivalents [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
    }

    apicustomconversionmapper {

        allow {
            B:expequiv=true
            B:projecteintegration=true

            # Allow Mod refinedexchange to add its 4 Recipes to the EMC Calculation [default: true]
            B:refinedexchange=true
        }

    }

}


