{"id":104061,"date":"2026-06-06T02:44:44","date_gmt":"2026-06-05T23:44:44","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/"},"modified":"2026-06-06T02:44:44","modified_gmt":"2026-06-05T23:44:44","slug":"mod-sets","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/","title":{"rendered":"Mod Sets"},"content":{"rendered":"<p># Mod Sets<\/p>\n<p>![Modrinth Downloads](https:\/\/modrinth.com\/mod\/mod-sets) ![Modrinth Version](https:\/\/modrinth.com\/mod\/mod-sets\/versions) ![Modrinth Game Versions](https:\/\/modrinth.com\/mod\/mod-sets\/versions)<br \/>\n![](https:\/\/www.curseforge.com\/minecraft\/mc-mods\/mod-sets) ![](https:\/\/www.curseforge.com\/minecraft\/mc-mods\/mod-sets)<br \/>\n![GitHub](https:\/\/github.com\/SettingDust\/ModSets) ![GitHub issues](https:\/\/github.com\/SettingDust\/ModSets\/issues)<br \/>\n![Discord](https:\/\/discord.gg\/exzXHb4aQj)<\/p>\n<p>This project heavily inspired by ThatOrThis<br \/>\nThe mod is using for Minecraft Fabric\/Quilt\/Forge for managing mod loading in game.<br \/>\nAnd useful for modpack developer<\/p>\n<p>## Feature<\/p>\n<p>&#8211; Enable\/Disable mods in game with defined mod sets\/subdirectory name\/mod id(Need restart)<br \/>\n&#8211; Using https:\/\/github.com\/isXander\/YetAnotherConfigLib for config screen<br \/>\n&#8211; Custom mod loading rules for modpack developer to make the pack with more user defined options<\/p>\n<p>## Usage<\/p>\n<p>The rules files should be json in `config\/modsets\/rules`.<br \/>\nAdd rule and enter the config screen through Mod Menu<br \/>\nFull example: https:\/\/github.com\/SettingDust\/ModSets\/blob\/main\/example_rules.json<\/p>\n<p>## Mod Set<\/p>\n<p>Mod set is entry defined in `config\/modsets\/modsets.json` that is string to set of mod id map.<br \/>\nSpecifically, sub folder name in `mods` folder will be mod sets the mods in it. And mod id will be the mod set only<br \/>\ncontains itself.<br \/>\nNotice, the defined mod sets by config will override the folder\/mod id with the same name.<br \/>\nExample:<br \/>\n&#8220;`json<br \/>\n{<br \/>\n    \/\/ The `sodium` will target the two mods here.<br \/>\n  \/\/ If disable this mod set, the mod in list won&#8217;t load if it is exist<br \/>\n  &#8220;sodium&#8221;: {<br \/>\n    &#8220;text&#8221;: &#8220;Sodium&#8221;,<br \/>\n    &#8220;description&#8221;: &#8220;Performance: +++++&#8221;,<br \/>\n    &#8220;mods&#8221;: [<br \/>\n      &#8220;sodium&#8221;,<br \/>\n      &#8220;indium&#8221;<br \/>\n    ]<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>## Rule<br \/>\n![img_1.png](https:\/\/github.com\/SettingDust\/ModSets\/raw\/main\/img_1.png)<br \/>\nEvery rule hold a text and description for displaying the info you want.<br \/>\nAnd a controller for YACL user interface<br \/>\nExample:<\/p>\n<p>&#8220;`json<br \/>\n{<br \/>\n  &#8220;text&#8221;: {<br \/>\n    &#8220;text&#8221;: &#8220;My first rule set&#8221;,<br \/>\n    &#8220;bold&#8221;: true,<br \/>\n    &#8220;color&#8221;: &#8220;green&#8221;<br \/>\n  },<br \/>\n  &#8220;description&#8221;: &#8220;Awwww&#8221;,<br \/>\n  &#8220;rules&#8221;: [<br \/>\n    {<br \/>\n      &#8220;text&#8221;: &#8220;text&#8221;,<br \/>\n      &#8220;description&#8221;: &#8220;description&#8221;,<br \/>\n      &#8220;controller&#8221;: {<br \/>\n        &#8220;type&#8221;: &#8220;type&#8221; \/\/ Notice, this isn&#8217;t valid type of controller. Take the type from controllers below<br \/>\n      }<br \/>\n    }<br \/>\n  ]<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>## Controllers<\/p>\n<p>### Label<\/p>\n<p>For displaying text on screen<br \/>\nExample:<\/p>\n<p>&#8220;`json<br \/>\n{<br \/>\n  &#8220;text&#8221;: &#8220;The label&#8221;,<br \/>\n  &#8220;description&#8221;: &#8220;Text Text&#8221;,<br \/>\n  &#8220;controller&#8221;: {<br \/>\n    &#8220;type&#8221;: &#8220;label&#8221;<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Boolean<\/p>\n<p>For switching a single mod set on\/off<br \/>\nExample:<br \/>\n&#8220;`json<br \/>\n{<br \/>\n  &#8220;text&#8221;: &#8220;The boolean&#8221;,<br \/>\n  &#8220;description&#8221;: &#8220;Text Text&#8221;,<br \/>\n  &#8220;controller&#8221;: {<br \/>\n    &#8220;type&#8221;: &#8220;boolean&#8221;,<br \/>\n      &#8220;id&#8221;: &#8220;sodium&#8221;<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Cycling<\/p>\n<p>For switching between mod sets in a list.<br \/>\nUseful when there is conflicting mods such as sodium and optifabric. Or switching the pack difficult<br \/>\nExample:<br \/>\n&#8220;`json<br \/>\n{<br \/>\n  &#8220;text&#8221;: &#8220;The cycling&#8221;,<br \/>\n  &#8220;description&#8221;: &#8220;Text Text&#8221;,<br \/>\n  &#8220;controller&#8221;: {<br \/>\n    &#8220;type&#8221;: &#8220;cycling&#8221;,<br \/>\n      &#8220;ids&#8221;: [<br \/>\n          \/\/ Don&#8217;t empty<br \/>\n      &#8220;sodium&#8221;,<br \/>\n      &#8220;optifabric&#8221;<br \/>\n    ]<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>### Mods Group<br \/>\nAssign a simple boolean controller option to every mods in the mod sets.<br \/>\nExample:<\/p>\n<p>&#8220;`json<br \/>\n{<br \/>\n  &#8220;text&#8221;: &#8220;The mods group&#8221;,<br \/>\n  &#8220;description&#8221;: &#8220;Text Text&#8221;,<br \/>\n  &#8220;controller&#8221;: {<br \/>\n    &#8220;type&#8221;: &#8220;mods_group&#8221;,<br \/>\n    \/\/ Default is true<br \/>\n    &#8220;collapsed&#8221;: false,<br \/>\n      &#8220;ids&#8221;: [<br \/>\n          \/\/ Don&#8217;t empty<br \/>\n      &#8220;sodium&#8221;,<br \/>\n      &#8220;optifabric&#8221;<br \/>\n    ]<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<br \/>\n### Rules Group<br \/>\nGroup the rules so that it&#8217;s able to collapse the rules<br \/>\nExample:<\/p>\n<p>&#8220;`json<br \/>\n{<br \/>\n  &#8220;text&#8221;: &#8220;The rules group&#8221;,<br \/>\n  &#8220;description&#8221;: &#8220;Text Text&#8221;,<br \/>\n  &#8220;controller&#8221;: {<br \/>\n    &#8220;type&#8221;: &#8220;rules_group&#8221;,<br \/>\n    \/\/ Default is true<br \/>\n    &#8220;collapsed&#8221;: true,<br \/>\n    &#8220;rules&#8221;: [ \/\/ Don&#8217;t empty<br \/>\n      {<br \/>\n        &#8220;text&#8221;: &#8220;text&#8221;,<br \/>\n        &#8220;description&#8221;: &#8220;description&#8221;,<br \/>\n        &#8220;controller&#8221;: {<br \/>\n          &#8220;type&#8221;: &#8220;label&#8221;<br \/>\n        }<br \/>\n      },<br \/>\n      {<br \/>\n        &#8220;text&#8221;: &#8220;text&#8221;,<br \/>\n        &#8220;description&#8221;: &#8220;description&#8221;,<br \/>\n        &#8220;controller&#8221;: {<br \/>\n          &#8220;type&#8221;: &#8220;boolean&#8221;,<br \/>\n            &#8220;id&#8221;: &#8220;sodium&#8221;<br \/>\n        }<br \/>\n      }<br \/>\n    ]<br \/>\n  }<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Notice: Every text and description is text raw json.<br \/>\nUsing https:\/\/www.minecraftjson.com\/ for generating text.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Control mods loading with gui. Useful for modpack and server with optional function. And also for geeks want to control mods without file operating.<\/p>\n","protected":false},"featured_media":104062,"template":"","meta":{"_minecraft_slug":"mod-sets","_minecraft_project_id":"b313lC4Y","_minecraft_author":"settingdust","_minecraft_license":"MIT","_minecraft_downloads":155537,"_minecraft_follows":192,"_minecraft_client_side":"optional","_minecraft_server_side":"optional","_minecraft_storage_type":"directory","_minecraft_archive_name":"","_minecraft_size_bytes":39988,"_minecraft_version_count":1,"_minecraft_updated_at":"2026-05-16T20:36:40.581345Z","_minecraft_date_created":"2023-07-15T02:37:58.122396Z","_minecraft_date_modified":"2026-01-28T13:22:35.529681Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/mod-sets","_minecraft_icon_attachment_id":104062,"_minecraft_imported_at":"2026-06-05T23:44:45+00:00","_minecraft_import_hash":"8d5f7b94aeb6d2812312752aa6015b20","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[97,104,126,158,98,92],"mod_loader":[99,106,160],"minecraft_version":[56,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-104061","mod","type-mod","status-publish","has-post-thumbnail","hentry","mod_category-fabric","mod_category-forge","mod_category-management","mod_category-neoforge","mod_category-quilt","mod_category-utility","mod_loader-fabric","mod_loader-forge","mod_loader-neoforge","minecraft_version-1-19-2","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mod Sets - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mod Sets - Minecraft\" \/>\n<meta property=\"og:description\" content=\"Control mods loading with gui. Useful for modpack and server with optional function. And also for geeks want to control mods without file operating.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/\",\"name\":\"Mod Sets - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mod-sets-icon-a87832d6020fe072f0a372545da6c1d3f091c656.png\",\"datePublished\":\"2026-06-05T23:44:44+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/#primaryimage\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mod-sets-icon-a87832d6020fe072f0a372545da6c1d3f091c656.png\",\"contentUrl\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/wp-content\\\/uploads\\\/2026\\\/06\\\/mod-sets-icon-a87832d6020fe072f0a372545da6c1d3f091c656.png\",\"width\":64,\"height\":64},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/mod-sets\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mod Sets\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mod Sets - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/","og_locale":"en_US","og_type":"article","og_title":"Mod Sets - Minecraft","og_description":"Control mods loading with gui. Useful for modpack and server with optional function. And also for geeks want to control mods without file operating.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/","name":"Mod Sets - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/#primaryimage"},"image":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/#primaryimage"},"thumbnailUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mod-sets-icon-a87832d6020fe072f0a372545da6c1d3f091c656.png","datePublished":"2026-06-05T23:44:44+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/#primaryimage","url":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mod-sets-icon-a87832d6020fe072f0a372545da6c1d3f091c656.png","contentUrl":"https:\/\/vpesports.com\/minecraft\/wp-content\/uploads\/2026\/06\/mod-sets-icon-a87832d6020fe072f0a372545da6c1d3f091c656.png","width":64,"height":64},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/mod-sets\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"Mod Sets"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/104061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media\/104062"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=104061"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=104061"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=104061"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=104061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}