Description
Mod Sets

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
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.
AD
Become Premium to remove Ads!
What means Verified?
-
Compatibility: The mod should be compatible with the latest version of Minecraft and be clearly labeled with its supported versions.
-
Functionality: The mod should work as advertised and not cause any game-breaking bugs or crashes.
-
Security: The mod should not contain any malicious code or attempts to steal personal information.
-
Performance: The mod should not cause a significant decrease in the game's performance, such as by causing lag or reducing frame rates.
-
Originality: The mod should be original and not a copy of someone else's work.
-
Up-to-date: The mod should be regularly updated to fix bugs, improve performance, and maintain compatibility with the latest version of Minecraft.
-
Support: The mod should have an active developer who provides support and troubleshooting assistance to users.
-
License: The mod should be released under a clear and open source license that allows others to use, modify, and redistribute the code.
-
Documentation: The mod should come with clear and detailed documentation on how to install and use it.
AD
Become Premium to remove Ads!
How to Install
Download Forge & Java
Download Forge from the offical Site or here. If you dont have Java installed then install it now from here. After Downloading Forge you can run the file with Java.
Prepare
Lounch Minecraft and select your Forge istallation as Version this will create a Folder called Mods.
Add Mods
Type Win+R and type %appdata% and open the .minecraft Folder. There will you find your Folder called Mods. Place all Mods you want to play in this Folder
Enjoy
You are now Ready. Re-start your Game and start Playing.