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
> Check out Ferium's sister projects [Ferinth](https://github.com/theRookieCoder/ferinth) and [Furse](https://github.com/theRookieCoder/furse).
8
-
> They are Rust wrappers for the Modrinth and CurseForge APIs respectively
7
+
> Check out ferium's sister projects [ferinth](https://github.com/theRookieCoder/ferinth) and [furse](https://github.com/theRookieCoder/furse).
8
+
> They are Rust wrappers for the official Modrinth and CurseForge APIs respectively
9
9
10
10
Ferium is a fast and feature rich CLI program for downloading and updating Minecraft mods from [Modrinth](https://modrinth.com/mods), [CurseForge](https://curseforge.com/minecraft/mc-mods), and [GitHub Releases](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases), and modpacks from [Modrinth](https://modrinth.com/modpacks) and [CurseForge](https://curseforge.com/minecraft/modpacks).
11
11
Simply specify the mods or modpacks you use through the CLI, and in just one command you can the download all the mods or the modpack you configured.
12
12
13
13
## Features
14
14
15
15
- Download mods from multiple sources, namely [Modrinth](https://modrinth.com/mods), [CurseForge](https://curseforge.com/minecraft/mc-mods), and [GitHub Releases](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases)
16
-
- Download modpacks from multiple sources, namely [Modrinth](https://modrinth.com/modpacks),[CurseForge](https://curseforge.com/minecraft/modpacks)
16
+
- Download modpacks from multiple sources, namely [Modrinth](https://modrinth.com/modpacks) and[CurseForge](https://curseforge.com/minecraft/modpacks)
17
17
- Pleasing and beautiful UI
18
18
- Listing mods
19
19

@@ -22,7 +22,7 @@ Simply specify the mods or modpacks you use through the CLI, and in just one com
22
22
- Upgrading mods/modpacks
23
23

24
24
-[It's super fast](https://www.reddit.com/r/rust/comments/umcu1j/media_ferium_the_cli_minecraft_mod_manager) due to multi-threading for network intensive tasks
25
-
-You can configure the maximum number of additional threads using the `--threads` options
25
+
-Of course, the real world speed still depends on your internet connection
26
26
- Upgrade all your mods in one command, `ferium upgrade`
27
27
- Ferium checks that the version being downloaded is the latest one compatible with the chosen mod loader and Minecraft version
28
28
- You can configure overrides for mods that are not specified as compatible but still work
@@ -32,18 +32,20 @@ Simply specify the mods or modpacks you use through the CLI, and in just one com
32
32
## Installation
33
33
34
34
Ferium is a compiled, statically linked program that does not require external dependencies.
35
-
However, Rust programs in general require `gcc-libs` to be installed on Linux.
36
-
On Linux the regular version requires GTK, but the `no-gui` version does not need this.
35
+
On Linux, the regular version requires some sort of desktop environment that offers an XDG Desktop Portal. The `nogui` versions do not need this.
-[No GUI from Source](https://aur.archlinux.org/packages/ferium-git) (installs the Rust toolchain)
45
-
-[GUI File Dialogue](https://aur.archlinux.org/packages/ferium-gui-bin) (depends on GTK)
46
-
-[GUI File Dialogue from Source](https://aur.archlinux.org/packages/ferium-gui-git) (install the Rust toolchain and depends on GTK)
45
+
-[No GUI from Source](https://aur.archlinux.org/packages/ferium-git)
46
+
47
+
From source builds will install the Rust toolchain.
48
+
GUI builds require any XDG compatible desktop environment to be available at runtime.
47
49
48
50
### Scoop (Windows)
49
51
@@ -57,11 +59,15 @@ Available [here](https://pacstall.dev/packages/ferium-bin)
57
59
58
60
Run `pacstall -I ferium-bin` to install.
59
61
62
+
### Nix Packages
63
+
64
+
Available [here](https://search.nixos.org/packages?channel=unstable&show=ferium&query=ferium) in the unstable channel.
65
+
60
66
### Cargo Install (Cross Platform)
61
67
62
-
If you have the Rust toolchain installed, you can compile and install Ferium from source by running `cargo install ferium`.
68
+
If you have the Rust toolchain installed, you can compile and install ferium from source by running `cargo install ferium`.
63
69
64
-
Remember to use an add-on like [cargo-update](https://crates.io/crates/cargo-update) to keep Ferium updated to the latest version!
70
+
Remember to use an add-on like [cargo-update](https://crates.io/crates/cargo-update) to keep ferium updated to the latest version!
65
71
66
72
### GitHub Releases (Manual - Cross Platform)
67
73
@@ -71,12 +77,12 @@ Remember to use an add-on like [cargo-update](https://crates.io/crates/cargo-upd
71
77
72
78
## Overview / Help Page
73
79
74
-
> Note! A lot of Ferium's backend is in a seperate project [Libium](https://github.com/theRookieCoder/libium).
80
+
> Note! A lot of ferium's backend is in a seperate project [libium](https://github.com/theRookieCoder/libium).
75
81
> It deals with things such as the config, adding mod(pack)s, upgrading, file pickers, etc
76
82
77
83
Ferium stores profile and modpack information in it's config file. By default it is located at `~/.config/ferium/config.json`, but you can change this in 2 ways. You can set the `FERIUM_CONFIG_FILE` environment variable or set the `--config-file` global command flag, the flag always takes precedence.
78
84
79
-
You can also set a custom CurseForge API Key using the `CURSEFORGE_API_KEY` environment variable.
85
+
You can also set a custom CurseForge API key or GitHub personal access token using the `CURSEFORGE_API_KEY`and `GITHUB_TOKEN`environment variables or the `--curseforge_api_key` and `--github-token` flags respectively. Again, the flags take precedence.
80
86
81
87
### First Startup
82
88
@@ -108,9 +114,9 @@ You can either have your own set of mods in what is called a 'profile', or insta
108
114
- For example [Sodium's repository](https://github.com/CaffeineMC/sodium-fabric) has the id `CaffeineMC/sodium-fabric`
109
115
- You can find these at the top left part of the repository's page as a big 'owner / name'
110
116
- So to add [Sodium](https://github.com/CaffeineMC/sodium-fabric), you should run `ferium add CaffeineMC/sodium-fabric` (again, case-insensitive)
111
-
- Note: The GitHub repository has to release JAR files in their Releases for Ferium to download, or else it will refuse to be added
117
+
- Note: The GitHub repository has to release JAR files in their Releases for ferium to download, or else it will refuse to be added
112
118
- External mods
113
-
- If you want to use files that are not downloadable by Ferium, place them in the `user` folder in the output directory. Files here will be copied to the output directory when upgrading
119
+
- If you want to use files that are not downloadable by ferium, place them in the `user` folder in the output directory. Files here will be copied to the output directory when upgrading
114
120
115
121
### Adding Modpacks
116
122
@@ -129,25 +135,25 @@ You can either have your own set of mods in what is called a 'profile', or insta
129
135
130
136
### Upgrading Mods
131
137
132
-
> If your output directory is not empty when setting it, Ferium will offer to create a backup. Please do so if it contains any files you would like to keep
138
+
> If your output directory is not empty when setting it, ferium will offer to create a backup. Please do so if it contains any files you would like to keep
133
139
134
140
Now after adding all your mods, run `ferium upgrade` to download all of them to your output directory.
135
141
This defaults to `.minecraft/mods`, where `.minecraft` is the default Minecraft resources directory. You don't need to worry about this if you play with Mojang's launcher (unless you changed the resources directory).
136
142
You can choose to pick a custom output directory during profile creation or [change it later](#profiles).
137
143
138
-
If Ferium fails to download a mod, it will print it's name in red and give the reason. It will continue downloading the rest of the mods and will exit with an error.
144
+
If ferium fails to download a mod, it will print it's name in red and give the reason. It will continue downloading the rest of the mods and will exit with an error.
139
145
140
-
**WARNING:**_When upgrading, any files not downloaded by Ferium will be moved to the `.old` folder in the output directory_
146
+
**WARNING:**_When upgrading, any files not downloaded by ferium will be moved to the `.old` folder in the output directory_
141
147
142
148
### Upgrading Modpacks
143
149
144
-
> If your output directory's `mods` and `resourcepacks` sre not empty when setting it, Ferium will offer to create a backup. Please do so if it contains any files you would like to keep
150
+
> If your output directory's `mods` and `resourcepacks` sre not empty when setting it, ferium will offer to create a backup. Please do so if it contains any files you would like to keep
145
151
146
152
Now after adding all your mods, run `ferium modpack upgrade` to download the modpack to your output directory.
147
153
This defaults to `.minecraft`, which is the default Minecraft resources directory. You don't need to worry about this if you play with Mojang's launcher (unless you changed the resources directory).
148
154
You can choose to pick a custom output directory when adding modpacks or [change it later](#managing-modpacks).
149
155
150
-
If Ferium fails to download a mod, it will print it's name in red and give the reason. It will continue downloading the rest of the mods and will exit with an error.
156
+
If ferium fails to download a mod, it will print it's name in red and give the reason. It will continue downloading the rest of the mods and will exit with an error.
151
157
152
158
**WARNING:**_If you choose to install modpack overrides, your existing configs may be overwritten_
153
159
@@ -160,7 +166,7 @@ You can also provide the names of the mods to remove as arguments. Mod names wit
160
166
161
167
#### Check Overrides
162
168
163
-
If some mod is compatible with your profile but Ferium does not download it, [create an issue]((https://github.com/theRookieCoder/ferium/issues/new)) if you think it's a bug. You can disable the game version or mod loader checks by using the `--dont-check-game-version` and/or `--dont-check-mod-loader` flags when adding the mod, or manually setting `check_game_version` or `check_mod_loader` to false for the specific mod in the config.
169
+
If some mod is compatible with your profile but ferium does not download it, [create an issue]((https://github.com/theRookieCoder/ferium/issues/new)) if you think it's a bug. You can disable the game version or mod loader checks by using the `--dont-check-game-version` and/or `--dont-check-mod-loader` flags when adding the mod, or manually setting `check_game_version` or `check_mod_loader` to false for the specific mod in the config.
164
170
165
171
For example, [Just Enough Items](https://www.curseforge.com/minecraft/mc-mods/jei) does not specify the mod loader for older minecraft versions such as `1.12.2`. In this case, you would add JEI by running `ferium add 238222 --dont-check-mod-loader` so that the mod loader check is disabled.
166
172
You can also manually disable the mod loader (and/or game version) check(s) in the config like so
@@ -227,7 +233,7 @@ Delete a profile by running `ferium profile delete` and selecting the profile yo
227
233
228
234
If you would like to make a feature request, check the [issues](https://github.com/theRookieCoder/ferium/issues?q=is%3Aissue) to see if the feature has already been added or is planned. If not, [create a new issue](https://github.com/theRookieCoder/ferium/issues/new).
229
235
230
-
## Building from Source or Working on Ferium
236
+
## Building from Source or Working on ferium
231
237
232
238
Firstly, you need the Rust toolchain which includes `cargo`, `rustup`, etc. You can install these from [the Rust website](https://www.rust-lang.org/tools/install).
233
239
You'll also need the [`just`](https://github.com/casey/just#installation) command runner, which is basically a much better version of `make`.
0 commit comments