Mod Sets

⭐ ⭐ (196 endorsements) 📥 165,215 downloads 📌 v2.1.3 📅 7/15/2023
🟡 Updated this year

By settingdust · fabric

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 1/28/2026 📅 Created: 7/15/2023
⚠️ Install Order · 2 steps
1🛠️ Forge — Minecraft Forge (mod loader) Download ↗
2🛠️ Fabric — Fabric Loader Download ↗

Install in this order, then this mod last — most mods fail to load without their framework and dependencies in place.

🔍 Analysis

  • 👍 0.1% endorsement rate
  • 🏆 #582 of 1032 fabric mods in this game by downloads

📋 About This Mod

✅ 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

# Mod Sets (https://img.shields.io/modrinth/dt/mod-sets?style=for-the-badge&logo=modrinth)](https://modrinth.com/mod/mod-sets) (https://img.shields.io/modrinth/v/mod-sets?style=for-the-badge&logo=modrinth&label=Latest)](https://modrinth.com/mod/mod-sets/versions) (https://img.shields.io/modrinth/game-versions/mod-sets?style=for-the-badge&logo=modrinth)](https://modrinth.com/mod/mod-sets/versions) (https://cf.way2muchnoise.eu/full_890349_Downloads.svg?badge_style=for_the_badge)](https://www.curseforge.com/minecraft/mc-mods/mod-sets) (https://cf.way2muchnoise.eu/versions/890349.svg?badge_style=for_the_badge)](https://www.curseforge.com/minecraft/mc-mods/mod-sets) (https://img.shields.io/github/license/SettingDust/ModSets?style=for-the-badge&logo=github)](https://github.com/SettingDust/ModSets) (https://img.shields.io/github/issues-raw/SettingDust/ModSets?style=for-the-badge&logo=github)](https://github.com/SettingDust/ModSets/issues) (https://img.shields.io/discord/1134045695020642334?style=for-the-badge&logo=discord&label=Discord)](https://discord.gg/exzXHb4aQj) This project heavily inspired by (https://github.com/EZForever/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: ```json { // 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": } } ``` ## Rule !(https://github.com/SettingDust/ModSets/raw/main/img_1.png) Every rule hold a text and description for displaying the info you want. And a controller for YACL user interface Example: ```json { "text": { "text": "My first rule set", "bold": true, "color": "green" }, "description": "Awwww", "rules": } ``` ## Controllers ### Label For displaying text on screen Example: ```json { "text": "The label", "description": "Text Text", "controller": { "type": "label" } } ``` ### Boolean For switching a single mod set on/off Example: ```json { "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: ```json { "text": "The cycling", "description": "Text Text", "controller": { "type": "cycling", "ids": } } ``` ### Mods Group Assign a simple boolean controller option to every mods in the mod sets. Example: ```json { "text": "The mods group", "description": "Text Text", "controller": { "type": "mods_group", // Default is true "collapsed": false, "ids": } } ``` ### Rules Group Group the rules so that it's able to collapse the rules Example: ```json { "text": "The rules group", "description": "Text Text", "controller": { "type": "rules_group", // Default is true "collapsed": true, "rules": } } ``` Notice: Every text and description is text raw json. Using https://www.minecraftjson.com/ for generating text.

[!(https://img.shields.io/modrinth/dt/mod-sets?style=for-the-badge&logo=modrinth)](https://modrinth.com/mod/mod-sets) [!(https://img.shields.io/modrinth/v/mod-sets?style=for-the-badge&logo=modrinth&label=Latest)](https://modrinth.com/mod/mod-sets/versions) [!(https://img.shields.io/modrinth/game-versions/mod-sets?style=for-the-badge&logo=modrinth)](https://modrinth.com/mod/mod-sets/versions) [![](https://cf.way2muchnoise.eu/full_890349_Downloads.svg?badge_style=for_the_badge)](https://www.curseforge.com/minecraft/mc-mods/mod-sets) [![](https://cf.way2muchnoise.eu/versions/890349.svg?badge_style=for_the_badge)](https://www.curseforge.com/minecraft/mc-mods/mod-sets) [!(https://img.shields.io/github/license/SettingDust/ModSets?style=for-the-badge&logo=github)](https://github.com/SettingDust/ModSets) [!(https://img.shields.io/github/issues-raw/SettingDust/ModSets?style=for-the-badge&logo=github)](https://github.com/SettingDust/ModSets/issues) [!(https://img.shields.io/discord/1134045695020642334?style=for-the-badge&logo=discord&label=Discord)](https://discord.gg/exzXHb4aQj)

This project heavily inspired by (https://github.com/EZForever/ThatOrThis) The mod is using for Minecraft Fabric/Quilt/Forge for managing mod loading in game. And useful for modpack developer

  • 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

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 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: ```json { // 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 !(https://github.com/SettingDust/ModSets/raw/main/img_1.png) Every rule hold a text and description for displaying the info you want. And a controller for YACL user interface Example:

```json { "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

For displaying text on screen Example:

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

### Boolean

For switching a single mod set on/off Example: ```json { "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: ```json { "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:

```json { "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:

```json { "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.

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Mods
Author
settingdust
Version
2.1.3
Downloads
165,215
Endorsements
196
Category
fabric
Created
7/15/2023
Updated
1/28/2026
Game Versions
1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3
Tags
management, utility

🔧 How to Install Minecraft Mods Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Mods →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Mods commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Mods versions does Mod Sets support?

The author lists 1.20.1, 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4. Other versions may work but are untested by the author.

What is the latest version of Mod Sets?

Version 2.1.3, published 2026-01-28 with 165,215 downloads recorded at the source.

Keep browsing — more Minecraft Mods mods await

📋 All Minecraft Mods Mods 🏆 Top 25 📂 More fabric 👤 More by settingdust 🔎 Similar Mods 🌐 Best fabric (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods