# Configuration file

exnihilocreatio {

    misc {
        # Barrel light up if their contents do,
        # disabling this makes `B:enableBarrelTransformLighting` do nothing
        B:enableBarrelLighting=true

        # Barrel lighting can change during transformations
        B:enableBarrelTransformLighting=true

        # Enable this to to load the JSON files.
        # Keeping this on false will only load recipes registered in code
        # This is recommended to enable for Packmakers
        # For players just playing with this without wanting to configure something this is recommended to keep disabled
        # If you are having trouble reading custom json files I suggest using https://jsonlint.com/ to validate your files.
        B:enableJSONLoading=true

        # When attempting to reuse an existing item from the oredict, what modids should be given preference.
        S:oreDictPreferenceOrder <
            thermalfoundation
            magneticraft
            immersiveengineering
            nuclearcraft
            techreborn
         >

        # Add Ex Nihilo seeds to the listAllSeeds oredict
        B:oredictExNihiloSeeds=true
        B:oredictVanillaItems=true
    }

    ##########################################################################################################
    # client
    #--------------------------------------------------------------------------------------------------------#
    # These configs can be changed ClientSided without making problems with connecting to a server
    ##########################################################################################################

    client {
        # How large of a displacement should the animation of the auto sieves have.
        D:clientAutoSieveDisplacement=0.03125

        # Enable/Disable the animation of autosieves.
        B:clientFancyAutoSieveAnimations=true

        # This enables the thin Sieve model which is similar to the one in the 1.7 ex nihilo
        B:thinCrucibleModel=true
    }

    mechanics {
        B:enableBarrels=true
        B:enableCrucible=true
        B:fakePlayersCanSieve=false
        B:shouldBarrelsFillWithRain=true

        # Default max fluid temp allowed in the barrel. Does nothing if JSON configs are used.
        # Set to a high number to disable any blacklisting. Water = 300, Lava = 1300
        # Min: -1
        # Max: 2147483647
        I:woodBarrelMaxTemp=301
    }

    composting {
        # Min: 1
        # Max: 2147483647
        I:ticksToFormDirt=600
    }

    infested_leaves {
        # Chance to spread if it got ticked
        # Min: 0.0
        # Max: 1.0
        D:leavesSpreadChanceFloat=0.5

        # Minimum percentage to spread
        # Min: 0
        # Max: 100
        I:leavesSpreadPercent=15

        # How many ticks to wait before getting ticked again, already fully infested leaves spread much slower due to waiting for world ticks.
        # Min: 0
        # Max: 2147483647
        I:leavesUpdateFrequency=5

        # Min: 1
        # Max: 2147483647
        I:ticksToTransform=600
    }

    crooking {
        # Disable the ExNihilo Crooks, useful if another mod adds compatible crooks.
        B:disableCrookCrafting=false

        # Min: 0
        # Max: 2147483647
        I:maxStringDrop=2

        # Min: 0
        # Max: 2147483647
        I:numberOfTimesToTestVanillaDrops=3

        # Min: 0.0
        # Max: 1.0
        D:stringChance=1.0

        # Min: 0.0
        # Max: 1.0
        D:stringFortuneChance=1.0

        ##########################################################################################################
        # durability
        #--------------------------------------------------------------------------------------------------------#
        # Durability for each of the default crooks.
        ##########################################################################################################

        durability {
            I:crook_andesite=128
            I:crook_blaze=1024
            I:crook_bone=256
            I:crook_clay=256
            I:crook_clay_uncooked=0
            I:crook_diamond=2048
            I:crook_diorite=128
            I:crook_gold=32
            I:crook_granite=128
            I:crook_iron=256
            I:crook_netherrack=512
            I:crook_prismarine=512
            I:crook_purpur=512
            I:crook_stone=128
            I:crook_wood=64
        }

    }

    sieve {
        # Min: 0
        # Max: 2147483647
        I:autoSieveRadius=2

        # Base progress per click. Modified by haste and efficiency.
        # Min: 0.009999999776482582
        # Max: 1.0
        D:baseProgress=0.10000000149011612

        # If enabled, all meshes can obtain the results from the lower tier meshes.
        # Note if the same item is registered in multiple tiers, then the higher tier
        # will have a chance to drop multiples.
        B:flattenSieveRecipes=false

        # Min: 1
        # Max: 64
        I:meshMaxStackSize=16
        B:setFireToMacroUsers=false

        # Min: 0
        # Max: 2147483647
        I:sieveSimilarRadius=2

        enchantments {
            # Additional progress per level of efficiency.
            # Min: 0.0
            # Max: 1.7976931348623157E308
            D:efficiencyScaleFactor=0.05

            # Enable the Sieve Efficiency enchantment.
            B:enableSieveEfficiency=true

            # Enable the Sieve Fortune enchantment.
            B:enableSieveFortune=true

            # Enable the Sieve Luck Of The Sea enchantment.
            B:enableSieveLuckOfTheSea=true

            # If enabled haste beacons will increase the speed at which sieves function.
            B:hasteIncreasesSpeed=true

            # Scaling factor for Haste sieving.
            # Min: 0.0
            # Max: 1.7976931348623157E308
            D:hasteScaleFactor=1.0

            # Min: 1
            # Max: 2147483647
            I:sieveEfficiencyMaxLevel=5

            # Min: 1
            # Max: 2147483647
            I:sieveFortuneMaxLevel=3

            # Min: 1
            # Max: 2147483647
            I:sieveLuckOfTheSeaMaxLevel=3
        }

    }

    compatibility {
        B:addYelloriteOreDict=true
        B:generalItemHandlerCompat=true

        # Register Ex Nihilo hammers as Magneticraft hammers.
        B:magneticraftHammersCompat=true

        # Prevents unidict from merging the ore chunks into normal ore.
        B:preventUnidict=true

        tinkers_construct_compat {
            # Let's you use the tinkers tools to look up JEI recipes, but causes
            # two log errors when tinkers later tries to register their default subtype handler.
            B:JEItinkersTools=true

            # Add a Ex Nihilo style crook to the tool station.
            B:addExNihiloCrook=true

            # Add a Ex Nihilo style hammer to the tool station.
            B:addExNihiloHammer=true
            B:addMeltingOfChunks=true
            B:addMeltingOfDust=true
            B:addModifer=true
            B:doTinkersConstructCompat=true
            D:ingotsPerChunkWhenMelting=2.0
            D:ingotsPerDustWhenMelting=1.0

            # Tinkers Complement added a sledge hammer first, so by default Ex Nihilo Creatio
            # respects its existance (it also has more of the graphics defined).
            B:respectTinkersComplement=true
        }

        forestry_compat {
            # How many random hives to check each time a scented hive gets a random tick. Setting this high may cause lag.
            # Min: 1
            # Max: 2147483647
            I:hiveTransformTrys=1
        }

        rubber_compat {
            # Possible results of using a rubber seed.
            S:rubberSeed <
                techreborn:rubber_sapling
                ic2:sapling
             >
        }

        moofluids_compat {
            # Enable barrel automation of MooFluid/FluidCows/MiniMoos Cows.
            # These configs apply to all of the supported cow mods.
            B:enableMooFluids=true

            # How much (mB) should be drained from a fluid cow at once.
            # Cow's cooldown is reset a prorated amount based on this and its max cooldown.
            # Min: 1
            # Max: 1000
            I:fillAmount=10

            # Which fluids should not be automatable with barrels;
            # or which "should", if fluidListIsBlackList is false.
            S:fluidList <
             >
            B:fluidListIsBlackList=true
        }

        oreberries_compat {
            # Default likelihood that an oreberry seed is sieved;
            # gets divided by the rarity value in the oreberries config.
            # Dose nothing if JSON configs are enabled.
            D:baseDropChance=0.05000000074505806

            # OreDict the seeds as listAllseed
            B:enableOreBerryOredict=true

            # Enable a seed for every OreBerries bush.
            # Default properties of the seeds are based on the oreberries config json.
            B:enableOreBerrySeeds=true
        }

    }

    crucible {
        # Min: 1
        # Max: 2147483647
        I:woodenCrucibleSpeed=4
    }

    world {
        B:isSkyWorld=true
        I:normalDropPercent=100
    }

    ore {
        S:chunkBaseOreDictName=ore
        S:dustBaseOreDictName=dust
        S:ingotBaseOreDictName=ingot
        S:pieceBaseOreDictName=piece
    }

    witchwater {
        # Enable custom fluid mixing
        B:enableWitchWaterBlockForming=true
    }

}


