COWMODSКаталог модов

Mod Sets

Control mods loading with gui. Useful for modpack and server with optional function. And also for geeks want to control mods without file operating.

Автор: settingdust173,1 тыс.195обновлён 28 янв. 2026 г.
УправлениеУтилиты

Описание

Mod Sets

Modrinth Downloads Modrinth Version Modrinth Game Versions GitHub GitHub issues Discord

This project heavily inspired by ThatOrThis The mod is using for Minecraft Fabric/Quilt/Forge for managing mod loading in game. And useful for modpack developer

Feature

  • Enable/Disable mods in game with defined mod sets/subdirectory name/mod id(Need restart)
  • Using https://github.com/isXander/YetAnotherConfigLib for config screen
  • Custom mod loading rules for modpack developer to make the pack with more user defined options

Usage

The rules files should be json in config/modsets/rules. Add rule and enter the config screen through Mod Menu Full example: https://github.com/SettingDust/ModSets/blob/main/example_rules.json

Mod Set

Mod set is entry defined in config/modsets/modsets.json that is string to set of mod id map. Specifically, sub folder name in mods folder will be mod sets the mods in it. And mod id will be the mod set only contains itself. Notice, the defined mod sets by config will override the folder/mod id with the same name. Example:

{
    // The `sodium` will target the two mods here.
  // If disable this mod set, the mod in list won't load if it is exist
  "sodium": {
    "text": "Sodium",
    "description": "Performance: +++++",
    "mods": [
      "sodium",
      "indium"
    ]
  }
}

Rule

img_1.png Every rule hold a text and description for displaying the info you want. And a controller for YACL user interface Example:

{
  "text": {
    "text": "My first rule set",
    "bold": true,
    "color": "green"
  },
  "description": "Awwww",
  "rules": [
    {
      "text": "text",
      "description": "description",
      "controller": {
        "type": "type" // Notice, this isn't valid type of controller. Take the type from controllers below
      }
    }
  ]
}

Controllers

Label

For displaying text on screen Example:

{
  "text": "The label",
  "description": "Text Text",
  "controller": {
    "type": "label"
  }
}

Boolean

For switching a single mod set on/off Example:

{
  "text": "The boolean",
  "description": "Text Text",
  "controller": {
    "type": "boolean",
      "id": "sodium"
  }
}

Cycling

For switching between mod sets in a list. Useful when there is conflicting mods such as sodium and optifabric. Or switching the pack difficult Example:

{
  "text": "The cycling",
  "description": "Text Text",
  "controller": {
    "type": "cycling",
      "ids": [
          // Don't empty
      "sodium",
      "optifabric"
    ]
  }
}

Mods Group

Assign a simple boolean controller option to every mods in the mod sets. Example:

{
  "text": "The mods group",
  "description": "Text Text",
  "controller": {
    "type": "mods_group",
    // Default is true
    "collapsed": false,
      "ids": [
          // Don't empty
      "sodium",
      "optifabric"
    ]
  }
}

Rules Group

Group the rules so that it's able to collapse the rules Example:

{
  "text": "The rules group",
  "description": "Text Text",
  "controller": {
    "type": "rules_group",
    // Default is true
    "collapsed": true,
    "rules": [ // Don't empty
      {
        "text": "text",
        "description": "description",
        "controller": {
          "type": "label"
        }
      },
      {
        "text": "text",
        "description": "description",
        "controller": {
          "type": "boolean",
            "id": "sodium"
        }
      }
    ]
  }
}

Notice: Every text and description is text raw json. Using https://www.minecraftjson.com/ for generating text.

Галерея

Последние версии

Все версии →
release

2.1.3

2.1.3
28 янв. 2026 г.11,4 тыс.Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`59cac30`](https://github.com/SettingDust/ModSets/commit/59cac30627a86fe09d31d6c8523163ee5e10f443) - fail to load fabric mods in sub directories by wrong `connector.additionalModLocations` *(commit by @SettingDust)*
release

2.1.2

2.1.2
28 янв. 2026 г.207Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`ec4217b`](https://github.com/SettingDust/ModSets/commit/ec4217b46d6e3f704d72805fb9c9cf7bd8721092) - failing to load fabric mods in sub directories *(commit by @SettingDust)*
release

2.1.1

2.1.1
27 янв. 2026 г.545Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`36b536b`](https://github.com/SettingDust/ModSets/commit/36b536bf4da5664b80a1abcd2492bbcb1725c3df) - avoid load mods contains connector placeholder *(commit by @SettingDust)*
release

2.1.0

2.1.0
26 янв. 2026 г.175Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
### :sparkles: New Features - [`9839cda`](https://github.com/SettingDust/ModSets/commit/9839cda6a75fa98445eba2a12a8bf2f493fc7525) - add support for connector *(commit by @SettingDust)* ### :wrench: Chores - [`8a0e786`](https://github.com/SettingDust/ModSets/commit/8a0e786164ba8b40b78550d1f91fe9dd4db3f353) - bump dependencies *(commit by @SettingDust)*
release

1.0.5

1.0.5
21 дек. 2025 г.4,2 тыс.Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`8972d72`](https://github.com/SettingDust/ModSets/commit/8972d72339d0eee9efa39974fcc052d0449eb831) - adapt with YACL 3.8 *(commit by @SettingDust)* ### :wrench: Chores - [`36f8c71`](https://github.com/SettingDust/ModSets/commit/36f8c71bbcc341640bbe62a4a2e751c6a48facff) - fix icon *(commit by @SettingDust)*
release

1.0.4

1.0.4
20 дек. 2025 г.251Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`a5f9700`](https://github.com/SettingDust/ModSets/commit/a5f9700d55e82a9ac0c3c0503cc8402e0afc4f86) - **fabric**: crash with mixins target game classes *(commit by @SettingDust)* ### :wrench: Chores - [`badef28`](https://github.com/SettingDust/ModSets/commit/badef28f49a0a828453300888bd118c7aab03d07) - bump cloche *(commit by @SettingDust)*
release

1.0.3

1.0.3
7 дек. 2025 г.559Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`decdae7`](https://github.com/SettingDust/ModSets/commit/decdae7a9d6895deb67cc22dbb419cc1c3516e97) - bump cloche to fix isn't loading on NF and Forge *(commit by @SettingDust)*
release

1.0.2

1.0.2
5 дек. 2025 г.274Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`afb5f42`](https://github.com/SettingDust/ModSets/commit/afb5f42778eddf60def7a2796dedad1eb0d9c25a) - **fabric**: include configs spi *(commit by @SettingDust)* ### :wrench: Chores - [`fef1a7d`](https://github.com/SettingDust/ModSets/commit/fef1a7d1e445495c24f716935cda0c9692c69fcf) - **fabric**: add name for implementations *(commit by @SettingDust)*
release

1.0.1

1.0.1
4 дек. 2025 г.222Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10fabric, forge, neoforge
Скачать
Что нового
### :bug: Bug Fixes - [`4ded2b0`](https://github.com/SettingDust/ModSets/commit/4ded2b0d4c3bfc943f6afba9aa5453ebc156b297) - **fabric**: remove client entrypoint *(commit by @SettingDust)*
release

1.0.0

1.0.0
4 дек. 2025 г.151Minecraft: 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10fabric, forge, neoforge
Скачать
Что нового
### :sparkles: New Features - [`ba061b7`](https://github.com/SettingDust/ModSets/commit/ba061b75cbc6bdff9291d3a5efce9f3af210ba04) - start rewriting *(commit by @SettingDust)* - [`6de8e6f`](https://github.com/SettingDust/ModSets/commit/6de8e6fbe53123c8bc287416481fd3d10d9827a8) - add back rules definition *(commit by @SettingDust)* - [`c9b76f1`](https://github.com/SettingDust/ModSets/commit/c9b76f190862a28ab9c4e9b987293ffd9cd193a3) - add back fabric implementation *(commit by @SettingDust)* - [`d89d54c`](https://github.com/SettingDust/ModSets/commit/d89d54cb410cd856cadb30dca8fa8ee19ef26aab) - **fabric**: add back modmenu config screen *(commit by @SettingDust)* - [`01ad7d1`](https://github.com/SettingDust/ModSets/commit/01ad7d1da82fb64d7eb6b917e3e32b810cbcdb94) - add implementation for forge, neoforge 1.21 and fabric *(commit by @SettingDust)* - [`003eb6d`](https://github.com/SettingDust/ModSets/commit/003eb6d5b9a6a04f7b4ef202720e45f4822f0719) - try to split the forge into service module *(commit by @SettingDust)* - [`df36f8d`](https://github.com/SettingDust/ModSets/commit/df36f8d5786e2869d01d82235000b8d7d4e42f24) - implement the group dsl for versions *(commit by @SettingDust)* - [`3762cc1`](https://github.com/SettingDust/ModSets/commit/3762cc15a2cc99936c9006d52727966e9b7dd052) - add neoforge support *(commit by @SettingDust)* ### :bug: Bug Fixes - [`d8116cd`](https://github.com/SettingDust/ModSets/commit/d8116cd354d1925834cb3a1cc73d942670ac5886) - **forge**: isn't loaded at all *(commit by @SettingDust)* - [`7914459`](https://github.com/SettingDust/ModSets/commit/79144593982b48f43d15da44034fcf31fdc0022b) - creating config in mods dir *(commit by @SettingDust)* ### :recycle: Refactors - [`75a6478`](https://github.com/SettingDust/ModSets/commit/75a6478aff0b18e392a8b24d9c203fec5f74f667) - copier the template *(commit by @SettingDust)* - [`023ed7e`](https://github.com/SettingDust/ModSets/commit/023ed7e4f2d60b70e3823820fc2c814c188ea38b) - using java implement *(commit by @SettingDust)* ### :wrench: Chores - [`5844d24`](https://github.com/SettingDust/ModSets/commit/5844d247d68a4a6407a9803e49f056efa9e39c95) - implement config path adapter *(commit by @SettingDust)* - [`7f49a5b`](https://github.com/SettingDust/ModSets/commit/7f49a5b7a9cf10650b6bcd816649daaf8cbe02c2) - wrongly added unused files *(commit by @SettingDust)* - [`7a7271a`](https://github.com/SettingDust/ModSets/commit/7a7271a6ea22733bd29271e42d39a41ce7a88ce5) - rename ingame to game *(commit by @SettingDust)* - [`06aa2f8`](https://github.com/SettingDust/ModSets/commit/06aa2f856519b25db53f72eb9dffff04f9e58d13) - move the `COLLECT_ADDITIONAL_DEPENDENCY_SOURCES` listener out *(commit by @SettingDust)*