From mschae’s docs
Revision as of 17:21, 13 October 2025 by Mschae23 (talk | contribs) (Server: Start documenting filters)

The configuration files of Grind enchantments can be found in the .minecraft/config/grindenchantments directory. If you don't know how to find this, see the .minecraft page on the Minecraft wiki. If the files don't exist, the mod will create them automatically. There should be two files here: server.json and client.json.

Defaults

The default values in the server config:

{
  "disenchant_to_book": {
    "enabled": true,
    "consume_enchanted_item": false,
    "cost_function": {
      "function": {
        "function": {
          "type": "grindenchantments:count_min_power"
        },
        "factor": 0.3,
        "offset": 8.0,
        "type": "grindenchantments:transform"
      },
      "type": "grindenchantments:filter"
    }
  },
  "move_enchantments": {
    "enabled": true,
    "cost_function": {
      "function": {
        "function": {
          "function": {
            "normal_factor": 3.0,
            "treasure_factor": 8.0,
            "type": "grindenchantments:count_levels"
          },
          "factor": 0.5,
          "offset": 0.5,
          "type": "grindenchantments:transform"
        },
        "type": "grindenchantments:first_enchantment"
      },
      "type": "grindenchantments:filter"
    }
  },
  "reset_repair_cost": {
    "enabled": false,
    "catalyst_items": "minecraft:diamond",
    "requires_enchantment": true,
    "cost_function": {
      "function": {
        "function": {
          "normal_factor": 1.0,
          "treasure_factor": 4.0,
          "type": "grindenchantments:count_levels"
        },
        "type": "grindenchantments:average_count"
      },
      "factor": 1.5,
      "offset": 4.0,
      "type": "grindenchantments:transform"
    }
  },
  "filter": {
    "enabled": true,
    "item": {
      "enchantments": [],
      "action": "deny"
    },
    "enchantment": {
      "enchantments": [],
      "action": "ignore"
    },
    "cursed_enchantments": "ignore"
  },
  "dedicated_server_options": {
    "alternative_cost_display_enabled": false
  },
  "version": 4
}

The default values in the client config:

{
  "show_enchantment_cost": true,
  "sync_options": {
    "use_local_server_config_if_unsynced": true,
    "log_received_config": false
  },
  "version": 4
}

Server

The server.json file contains the majority of the mod's configuration options, being used on the logical server. Most importantly, it is possible to disable certain features and change the disenchantment costs.

  • object: server config.
    • "disenchant_to_book" (object): configuration for the “disenchant to book” feature.
      • "enabled" (boolean): whether to enable the feature (default: true).
      • "consume_enchanted_item" (boolean): if enabled, the original item will be consumed when disenchanting; only the enchantments themselves can be obtained (default: false).
      • "cost_function" (object): see cost function.
    • "move_enchantments" (object): configuration for the “move enchantments between books” feature.
      • "enabled" (boolean): whether to enable the feature (default: true).
      • "cost_function" (object): see cost function.
    • "reset_repair_cost" (object): configuration for the “reset repair cost” feature.
      • "enabled" (boolean): whether to enable the feature (default: false).
      • "catalyst_items" (array): an array of item IDs (or a single item ID) which have to be inserted alongside the item that should have its repair cost reset (default: "minecraft:diamond").
      • "requires_enchantment" (boolean): whether the item that should have its repair cost reset is required to have an enchantment (default: true).
      • "cost_function" (object): see cost function.
    • "filter" (object): filters for all enchantment movements.
      • "enabled" (boolean): whether filters are in effect (default: true).
      • "item" (object): which items can be used in disenchanting, or repair cost resets.
        • "enchantments" (array) (misnamed; should be "items"): list of item IDs, to be used as either an allowlist or denylist (default: []).
        • "action" (string): if set to "allow", only the mentioned items can be used. If set to "deny", all items but the mentioned ones can be used (default: "deny").
    • "version" (int): config version (defaults to 4).

Cost function

TODO.