You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A simple, fast tool for managing Minecraft mods from the command line.
6
+
7
+
Modder is a tool for managing mods for Minecraft. It can add mods from Modrinth, CurseForge, and Github Releases. Other features include bulk-updating a directory of mods to a specified version, listing detailed information about the mods in a directory, and toggling mods on or off without deleting the files.
8
+
9
+
## Features
10
+
11
+
-[x] Bulk-update a directory of mods
12
+
-[x] Add mods via Modrinth
13
+
-[ ] Add mods via CurseForge (implementation on hold)
14
+
-[x] Add mods via Github Releases
15
+
-[x] Toggle mods in a directory (enables/disables them by renaming the file extension)
16
+
-[x] List mods with details like version, source, and category
17
+
-[ ] Support for `modpacks`
18
+
19
+
## Workspace Structure
20
+
21
+
This repository is a cargo workspace containing two main crates:
22
+
23
+
-`core`: The primary crate that contains all the command-line logic, API wrappers, and file management code.
24
+
-`tui`: A work-in-progress crate for a Terminal User Interface (TUI) for `modder`.
A simple, fast tool to make managing minecraft mods that much easier
3
+
This crate contains the core business logic for the `modder` command-line tool. It handles interactions with modding APIs, file management, and the implementation of the CLI commands.
4
4
5
-
---
6
-
# Features
7
-
-[x] Bulk-Update a directory of mods
8
-
-[x] Add mods via modrinth
9
-
-[] Add mods via curseforge
5
+
## Features
6
+
7
+
-[x] Bulk-update a directory of mods
8
+
-[x] Add mods via Modrinth
9
+
-[x] Add mods via CurseForge
10
10
-[x] Add mods via Github Releases
11
-
-[x] Toggle Mods in a directory
12
-
-[x] Edit the `minecraft/mods` directory
13
-
-[ ] Support `modpacks`
11
+
-[x] Toggle mods in a directory
12
+
-[x] List mods with detailed information
13
+
-[ ] Support for `modpacks`
14
+
15
+
## Core Functionality
16
+
17
+
The crate is structured into several key modules:
18
+
19
+
-**`modrinth_wrapper`**: Provides functions for interacting with the Modrinth API (`v2`), including searching for mods, fetching version information, and handling dependencies.
20
+
-**`curseforge_wrapper`**: Contains the logic for interacting with the CurseForge API. **Note: This implementation is currently on hold due to API complexity.**
21
+
-**`gh_releases`**: Handles fetching release information and downloading mod files from GitHub Repositories.
22
+
-**`actions`**: Implements the primary logic for each of the CLI subcommands (e.g., `add`, `update`, `list`).
23
+
-**`cli`**: Defines the command-line interface structure, arguments, and subcommands using the `clap` crate.
24
+
-**`metadata`**: Manages reading and writing custom metadata to mod JAR files. This is used to track the source of a mod (Modrinth, GitHub, etc.) for future updates.
25
+
26
+
## Usage
27
+
28
+
While this crate can be used as a library to build other Minecraft-related tools, its primary purpose is to serve as the engine for the `modder` binary. It is not intended for direct use by end-users.
0 commit comments