{
    "generated_materials": {
        /*
        Whether Miapi should automatically generate materials based on modded items
        If this is disabled, the other fields in this section will have no effect
        */
        "generate_materials": true,
        // The maximum amount of materials generated per type
        "max_generated_materials": 200,
        /*
        A regex used to prevent items matching the pattern from generating materials
        By default this prevents chipped and everycompat from generating materials
        */
        "block_regex": "^(chipped|everycompat).*",
        // Whether Miapi should automatically generate materials based on modded wood related items
        "generate_wood_materials": true,
        // Whether Miapi should automatically generate materials based on modded stone related items
        "generate_stone_materials": true,
        // Whether Miapi should automatically generate materials based on modded tools
        "generate_other_materials": true,
        // What Properties are generated
        "generate_properties": {
            // Whether the Attribute Property should copy the items other attributes for generated Materials
            "attribute_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            },
            // Whether the Crafting Enchantment Property should copy the items other attributes for generated Materials
            "enchant_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            },
            // Whether the Ability Property should copy the items abilities for generated Materials
            "ability_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            },
            // Whether the Tags of the Items should be copied as Material Properties for generated Materials
            "tag_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            },
            // Whether the Item Lore of the Items should be copied as Material Properties for generated Materials
            "lore_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            },
            // Whether the On Hit Effects of the Items should be attempted to be copied as Material Properties for generated Materials
            "on_hit_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            },
            // Whether Custom Components should be added to the generated Materials
            "component_property": {
                // Whether this property is enabled at all
                "enable": true,
                // A list of blocked regexes, if any material causes issues add their id to here
                "blocked": []
            }
        }
    },
    "enchants": {
        // Whether loyalty should trigger in the void with Modular Items
        "better_loyalty": true,
        /*
        Whether base modular items should have a say in valid enchantments
        For example, if this is true, a modular pickaxe will automatically be allowed pickaxe enchantments regardless of its modules
        */
        "lenient_enchantments": false
    },
    "stun_effect": {
        // List of StatusEffects the player will get when stunned
        "player_effects": [
            "minecraft:blindness",
            "minecraft:slowness"
        ],
        /*
        The Stun health of a default entity, the StunHealth determines how much stun damage is needed to stun.
        requires restart to apply - may not correctly affect older worlds
        */
        "stun_health": 20.0,
        // The Time a Entity is stunned
        "stun_length": 100,
        // The Time a Entity is immune to stuns after being stunned
        "stun_resistance_length": 600,
        /*
        Attack speed reduction for players while being stunned as a Player
        requires restart to apply
        */
        "attack_speed_factor": 0.5
    },
    "other": {
        /*
        Whether the development mode of Miapi is enabled
        DO NOT ENABLE IF U DO NOT KNOW WHAT IT DOES
        */
        "development_mode": false,
        /*
        Truly Modular Logs more aggressively
        Helps with debugging
        */
        "verbose_logging": false,
        /*
        If the same Lore Injections should happen on server as on the client
        Disabling this improves performance, but might let certain mods no longer find Modular Material or Items via search
        */
        "server_lore": false,
        // If normal Converters should be generated for normal Materials

        "generate_converters": true,
        /*
        If this is on the Block Teleports effect of Truly Modular will block most teleports,
        if false it will only block default Ender man, Chorus fruit and Ender Pearls
        */
        "block_all_teleports_effects": true,
        /*
        This allows Truly Modular to dynamically reset its Tool-material
        Some mods might not like dynamic Tool-materials and cause issues with it,
        but overall it should increase compatibility and help with Tool detection
        */
        "loose_tool_material": true,
        /*
            Whether Miapi should fake the defaultInstance() call for increased compatibility.
            This has a chance of breaking with some mods, but all tested so far cause no issue.
        */
        "fake_item_stack": true,
        /*
        If this is true modular items will fully break.
        If set to false Modular Item will instead to go into a Broken state
        In this broken state they cant do anything but repaired.
        WARNING: some anvil reworking mods break the repairing logic. Please report those issues to us.
        */
        "full_break_modular_items": true,
        /*
        Whether a miapi reload should be automatically forced on server start
        This is enabled for compat reasons, sometimes scanning recipes and other stuff during a reload isnt stable
        */
        "reload_on_server_start": true,
        // How much of a Modules Durability is used to repair the Item

        "repair_ratio": 1.0,
        /*
        Update Components on Item instanciation
        This is very useful for addon developers or when working on datapacks,
        otherwise items need to be re-crafted to update their stats.
        */
        "live_update": false
    },
    "loot_category": {
        "is_enabled": true,
        "is_swapping_modules_enabled": true,
        "is_swapping_materials_enabled": true,
        "material_swap_loot_functions": {
            "hardness_factor": 1.0,
            "flexibility_factor": 1.0,
            "chance": 0.8,
            "upper_bounds": 0.4,
            "mining_level_factor": 1.0,
            "tier_factor": 0.8,
            "lower_bounds": -3.5
        },
        "module_swap_loot_functions": {
            "chance": 0.5
        }
    }
}