# 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 = expequiv. Values: 87 [range: 0 ~ 512, default: 1]
            I:expequivpriority=1
        }

        permissions {

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

                # Allow 'expequiv' to set and or remove values for 'appliedenergistics2'. Options: [both, set, remove, none] [default: both]
                S:appliedenergistics2=both
                S:astralsorcery=both

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

                # Allow 'expequiv' to set and or remove values for 'draconicevolution'. Options: [both, set, remove, none] [default: both]
                S:draconicevolution=both
                S:embers=both

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

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

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

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

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

                # Allow 'expequiv' to set and or remove values for 'thaumcraft'. Options: [both, set, remove, none] [default: both]
                S:thaumcraft=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 `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 {
            # Allow Mod expequiv to add its 5 Recipes to the EMC Calculation [default: true]
            B:expequiv=true
        }

    }

}


