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

    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
    }

    apicustomemcmapper {

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

            # Priority for Mod with ModId = nuclearcraft. Values: 461 [range: 0 ~ 512, default: 1]
            I:nuclearcraftpriority=1
        }

        permissions {

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                # Allow 'nuclearcraft' to set and or remove values for 'projectred-core'. Options: [both, set, remove, none] [default: both]
                S:projectred-core=both

                # Allow 'nuclearcraft' to set and or remove values for 'projectred-exploration'. Options: [both, set, remove, none] [default: both]
                S:projectred-exploration=both

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

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

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

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

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

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

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

        }

    }

}


