{
  "TECHNICAL": {
    "VERSION_DO_NOT_EDIT": 2.1,
    "FORCE_RESET": false
  },

  // This config file uses a custom defined parser. That's why there are comments here, they wouldn't be valid in any other .json file.
  //    To add a comment yourself, just start a line with // like I did here
  //    (although their main use is explaining you what the entries do)

  // CATEGORY: ENCHANTING
  "enchantments": {
    "enchant_limiter": {
      // Limits how many enchantments can be added to an item. Set it to -1 to disable the limiter,
      //    and to 0 to disable enchanting as a whole
      "default": 6,
      // Should curses add enchantment slots instead of using them
      "curses_add_slots": false,
      // Override modes include "relative" and "absolute".
      //    If set to "relative", the overrides defined below will be added onto the default limit.
      //    If set to "absolute", they'll replace the default limits.
      "override_mode": "absolute",
      // Overrides to the amount of enchantments an item can have. Must be of the form "modid:itemid": value
      "overrides": {
        "#prominent:limit_8": 8,
        "#prominent:limit_10": 10
      },
      // Should an item's maximum enchantments be displayed even when it is not enchanted
      "always_show_limit": false,
      "limitite": {
        // Should Limitite have an enchantment glint
        "is_foil": true,
        // 1 in X chance for Limitite to spawn as loot in chests. Set to 0 or lower to disable it
        "loot_weight": 0,
        // How many Limitites can be applied to a single item
        "max_limit_break": 0
      }
    },

    "enchant_catalyst": {
      // Should Enchanted Books be usable as catalysts to increase the odds of getting their enchantments
      // If this is set to false and no catalyst is loaded from datapacks, the module will be disabled
      "allow_books": false,
      // Chance (0 - 1) for non book catalysts to activate for each option in the enchanting table
      "activation_chance": 0.0,
      // Should items usable as catalysts display it in their tooltip
      "show_in_tooltip": false,

      // If true, the default enchant logic will be removed, meaning a catalyst *must* be used in order to get enchants at an enchanting table
      "override_default_enchanting": false
    },

    // Allow using Enchanted Books on items in inventory
    "allow_inventory_enchanting": false,
    // Should Mining Master's gem smithing recipes be edited so that they also give staff enchantments
    "mining_master_integration": false,

    // Should the Magic Protection enchantment be compatible with vanilla Protection enchantments
    "magic_protection_protection_compatibility": false,
    // Feather Falling at this level completely negates fall damage (should be set to the maximum if enabled, or higher if disabled)
    "better_feather_falling": 99,
    // Unbreaking at this level makes an item completely unbreakable (should be set to the maximum if enabled, or higher if disabled)
    "better_unbreaking": 100,
    // Should Magic Protection also give a level*5 chance to dodge any attack
    "better_magic_protection": false,
    // Should Fire Protection at this level on every armor slot at once grant fire immunity
    "better_fire_protection": 99,
    // Should Bane of Arthropods apply a 0.5*(level + 1) seconds of slowness on hit
    "better_bane_of_arthropods": false,
    // Should Blessing damage all hostile mobs, and deal extra damage to entities tagged as `minecraft:undead`.
    //   If set to false, only the entities in this tag will be damaged
    //   Non damaged entities are healed instead
    "alternate_blessing": true,
    // If true, Curse of Storytelling will have a cyan name. Only cosmetic
    "alternate_storytelling_curse": false,

    // Set these to false to disable the corresponding enchantment from appearing in game (it won't be registered)
    "enabled_enchants": {
      "potency": false,
      "stability": false,
      "chaining": false,
      "focus": false,
      "wisdom": false,
      "push": false,
      "pull": false,
      "brazier": false,
      "blizzard": false,
      "blast": false,
      "blitz": false,
      "blessing": false,
      "bonk": false,
      "ignorance_curse": false,

      "magic_protection": false,
      "arcane": false,
      "soulbound": false,
      "storytelling_curse": false
    }
  },

  // CATEGORY: EXPERIENCE
  "experience": {
    "witch_hat": {
      // Should the Witch Hat be registered as an item
      "enable": false,
      // Chance for the Witch Hat to drop when killing a Witch. Set to 0 to disable the drop
      "drop_chance": 0.0,
      // How many extra experience points should drop when killing a monster with the Witch Hat equipped
      "xp_bonus": 0
    },
    // Should enchanting in an enchanting table cost more xp than the default 1 2 3 levels
    "increased_enchant_costs": false,
    // If the above is true, defines the new costs to replace 1 2 3
    "costs": [1, 3, 7],
    // If increased_enchant_costs is true, defines the required xp levels to enchants
    "needed": [5, 10, 15],
    // Should Anvils never cost experience
    "no_xp_anvil": false,
    // Maximum experience level a player can have before it can't increase anymore. Set to -1 to disable the limit,
    //    and to 0 to disable experience
    "level_cap": 750,
    // How much xp points are needed to level up, in place of the exponential formula vanilla has.
    //    Set to 0 or lower to use vanilla's formula
    "linear_xp_requirement": 0,
    // Should monsters have a chance to give a bunch of extra experience points when killed
    "xp_bounty": {
      // Should the sortilege:bounties tag act as a whitelist instead of a blacklist. It defines which mobs can drop bounties
      "tag_is_whitelist": false,
      // Amount of xp points bounties drop
      "value": 0,
      // Chance for a bounty to happen
      "chance": 0.0
    },

    // Locks certain recipes behind experience levels or advancements.
    //    Each entry must be of the form "modid:recipeid": minimalxplevel or "modid:recipeid": "advancementid"
    //    The default config locks the crafting of Ender Eyes behind level 30 and the Beacon behind summoning the Wither, as an example
    "recipe_locks": {

    }
  },

  // CATEGORY: DEATH
  "death": {
    // Enable a balanced keepInventory only for experience
    "xp_keeping": {
      "enable": false,
      // Should players killed by players drop their xp or give it to their assassin directly
      "allow_stealing_from_players": true,
      // Ratio of xp kept on death
      "self_ratio": 0.3,
      // Ratio of xp stolen by the attacker, and dropped back when it's killed
      "attacker_ratio": 0.6,
      // Ratio of xp dropped on the ground on death
      "drop_ratio": 0.1,
      // Entity data id to use to store stolen xp. Only change this if the default is causing conflicts
      "stolen_xp_data": 41
    },
    // Keep equipped items (armor and hotbar) on death
    "keep_equipped": false,
    // Should the Soulbound enchantment be removed on use
    "consume_soulbound": false,
    // Display death coordinates instead of the score from vanilla on the death screen
    "show_coordinates_on_death": true,
    // Should the mob that killed you be made glowing
    "glowing_killer": false
  },

  // CATEGORY: BREWING
  "brewing": {
    "antidote": {
      // Should Antidotes be registered as items
      "enable": false,
      // A list of potion effects for which Antidotes don't get registered
      "effect_blacklist": [
      ],
      "stack_size": 16,
      // For how many seconds Antidotes make you immune to their effect after drinking. Set to 0 or lower to disable extra immunity
      "immunity_time": 300
    },
    "potion": {
      "stack_size": 1,
      // Value to multiply all potions effects length by.
      //    For example, if this is 2, then all effects gained *from potions* will last twice as long
      //    This has no effect on potions whose effects were overridden by datapack
      "duration_multiplier": 1,
      // How many ticks should drinking a potion take. 20t = 1s
      "drinking_time": 0,
      // How many ticks of cooldown potions get after being drank or thrown
      "cooldown": 0,

      // Should potions have the ability to have different textures depending on their content.
      //   Setting this to false will disable texture variants for long/strong potions, as well as per potion ones
      "custom_potion_textures": true,
      // Should potions' properties be editable by datapack. Keep in mind that to fully disable modifications to potions,
      //   You also need to set stack_size to 1, duration_multiplier to 1, drinking_time to 0 and cooldown to 0
      "custom_potion_data": true
    },
    "cauldron": {
      // Should cauldron brewing be enabled
      "enable": false,
      // To disable cauldrons from filling over time automatically if above a soul campfire,
      //    override the #sortilege:refills_cauldrons block tag to be empty
      // If true, dropping blaze powder into a cauldron containing potion will increment its fluid level by 1 (up to 3)
      "blaze_powder_refill": false,
      // If true, cauldrons generated in Swamp Huts will have a random potion inside
      "fill_swamp_huts_randomly": false,
      // A list of effect ids that are not allowed to generate in swamp huts
      "swamp_hut_blacklist": [
      ]
    }
  },

  // CATEGORY: EQUIPMENT
  "equipment": {
    "lapis_shield": {
      // Should the Lapis Shield be registered as an item
      "enable": false,
      // How many durability points do Lapis Shields have
      "durability": 152,
      // How many ticks between each Lapis Shield dodge, in ticks (20t = 1s)
      "cooldown": 80
    },

    // CATEGORY: STAFFS
    "staffs": {
      "overcharge": {
        // Maximal overcharge a staff can hold at any given time
        "max_overcharge": 20,
        // Color for the overcharge bar. Hexadecimal format
        "bar_color": "#0000ff",
        // Should overcharged staffs not use durability
        "free_durability": true,
        // Should overcharged staffs not use experience
        "free_experience": true,
        // Which items can be used to overcharge staffs. Must be formatted as "modid:itemid": value
        "ingredients": {
          "minecraft:lapis_lazuli": 2,
          "minecraft:lapis_block": 20
        }
      },

      // Amount of xp points needed to use a staff, if not set
      "default_xp_cost": 0,
      // Time staffs need to be held down (in ticks) before shooting, if not set
      "default_charge_time": 1,
      // Should staffs be able to pierce through walls, at a rate of 1 block per pierce value
      "pierce_blocks": false,

      "entries": [
        {
          // Example entry, not loaded in game as it's only for demonstration purposes
          "example_staff": {
            // Sets the repair material and the durability if not set
            "tier": "GOLD",
            // Staff's enchantability on the Enchanting Table. Defaults to the tier's
            "enchantability": 22,
            // Half hearts of damage the staff deals
            "damage": 5,
            // Maximal number of targets the staff can pierce through
            "pierce": 2,
            // Range of the staff, in half blocks
            "range": 10,
            // Durability of the staff. Defaults to tier's
            "durability": 512,
            // Item to be used to repair the staff. Defaults to the tier's
            "repair_item": "minecraft:obsidian",
            // Amount of ticks to wait for between each shots
            "cooldown": 20,
            // Amount of ticks of casting to shoot. Defaults to default_charge_time above
            "charge_time": 1,
            // Amount of xp points needed to shoot. Defaults to default_xp_cost above
            "xp_cost": 0,
            // Custom RGB colors to be used for the staff's beam. If unset, the beam will be white unless the staff has enchantments
            "beam_color": [
              [0.5, 0, 0],
              [0, 0.5, 0],
              [0, 0, 0.5]
            ],
            // Whether the staff is resistant to fire like Netherite items. Defaults to false
            "fire_res": true,
            // Mod needed to be loaded for the staff to appear in game. Defaults to minecraft
            "dependency": "bananacraft",
            // Commands to be run when using the staff
            "on_shoot": "/give @s minecraft:lapis_lazuli",
            "on_hit_self": "/effect give @s minecraft:regeneration",
            "on_hit_target": "/tp @s ~ ~2 ~"
          }
        }
      ]
    }
  }
}