hopper/README.md

138 lines
4.1 KiB
Markdown
Raw Normal View History

2022-01-24 05:41:03 +00:00
```
___---___
___--- | ---___
--- ___---___ ---
|---___--- ---___---|
| ---___ ___--- |
---___ | ___---
|---___|___---|
--__ - __--
|-_-|
-_-
__ __
/ / / /___ ____ ____ ___ _____
/ /_/ / __ \/ __ \/ __ \/ _ \/ ___/
/ __ / /_/ / /_/ / /_/ / __/ /
/_/ /_/\____/ .___/ .___/\___/_/
/_/ /_/
```
2021-11-29 01:06:23 +00:00
# Hopper
2021-11-29 01:07:11 +00:00
A Minecraft mod manager for the terminal.
2021-11-30 23:19:18 +00:00
Hopper can automatically search, download, and update Minecraft mods from https://modrinth.com/ so that keeping your mods up-to-date and compatible with each other is easy. With Hopper, you won't have to manually visit CurseForge and download each mod one-by-one every time you set up a new instance, or deal with the hassle of swapping out different mod versions for hours while trying to get Minecraft to accept them all at once.
Hopper is still very early in development, but important features are coming along smoothly, and we'll have lots of progress to show off in the coming weeks. It's written in Rust and released under the AGPLv3.
2022-01-21 20:28:00 +00:00
We're looking for people to help contribute code, design the terminal interface, write documentation, and design a logo. Please reach out to us in [our Discord "server"](https://discord.gg/jJutHQjsh9) if you're interested in helping out. If you have a taste in CLI-based apps like Hopper, your input is especially appreciated.
2021-11-30 23:19:18 +00:00
Inspired by CLI apps like:
- [paru](https://github.com/morganamilo/paru): Feature packed AUR helper
- [topgrade](https://github.com/r-darwish/topgrade): Upgrade everything
2021-11-29 01:07:11 +00:00
### Donate
<noscript><a href="https://liberapay.com/tebibytemedia/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript>
2021-11-29 01:00:46 +00:00
2021-11-21 00:42:50 +00:00
# High-level Goals
2021-11-30 23:19:18 +00:00
Continuous:
- small binary size
- minimal compile times
Features:
2021-11-21 00:42:50 +00:00
- modrinth mod searching
- modrinth mod installation
2021-11-22 01:43:35 +00:00
- curseforge api too?
2021-11-21 00:42:50 +00:00
- per-instance mod management
- mod updating
2021-11-22 01:43:35 +00:00
- fish autocomplete
- bash autocomplete
- zsh autocomplete
- nushell autocomplete
- manpage
- configurable mod search result display like [Starship](https://starship.rs)
2021-12-11 03:40:26 +00:00
- `display` command or something that displays (cached?) mod info
2021-11-30 23:19:18 +00:00
- parallel mod downloading
2021-11-21 00:42:50 +00:00
2021-11-22 01:43:35 +00:00
Long-term/host-dependent:
2021-11-21 00:42:50 +00:00
- conflict resolution
- dependency resolution
2021-11-22 01:43:35 +00:00
- shaderpack and resource pack management
2021-11-29 00:21:18 +00:00
- integrate into multimc or theseus
- graphical frontend (w/ notifications?)
[Modrinth REST API docs](https://github.com/modrinth/labrinth/wiki/API-Documentation)
2021-11-21 00:42:50 +00:00
# File Architecture
```bash
- .config/hopper/config.toml # Main config file
- .local/share/multimc/instances/*/.minecraft/Hopfile.toml # Multimc
- .minecraft/Hopfile.toml # Official launcher
- .var/app/com.mojang.Minecraft/.minecraft/Hopfile.toml # Flatpak version
- .cache/hopper/ # Mod cache
| - hopper.lock # Lock file
| - mod1.jar # Mods
| - mod2.jar
+------------- - ...
```
# Usage (Planned)
Create `Hopfile.toml` in your instance directory:
```
hopper init
```
Add mods:
```
hopper add iris
hopper add sodium
hopper add phosphor
```
Check for mod updates:
```
hopper update
```
# Docs (Planned)
## `hopper init`
```
hopper init < --dir=./path/to/instance >
```
Inits in current directory if `dir` is left out, otherwise inits in given dir.
## `hopper update`
```
hopper update < --mc-version=1.17 >
```
Updates all installed mods of a specific version, or a version set in the config.
## `hopper add`
```
2021-11-21 18:18:26 +00:00
$ hopper add sodium --mc-version 1.17
4 Indium 1.0.0+mc1.17.1 [1.17.1] (21557 downloads)
Sodium addon providing support for the Fabric Rendering API, based on Indigo
3 Reese's Sodium Options 1.2.1 [1.16.5] (548 downloads)
Alternative Options Menu for Sodium
2 Sodium Extra mc1.17.1-0.3.6 [1.17.1] (16387 downloads)
Features that shouldn't be in Sodium.
1 Sodium mc1.17.1-0.3.2 [1.17.1] (962361 downloads)
Modern rendering engine and client-side optimization mod for Minecraft
2021-11-21 00:42:50 +00:00
:: Select a mod
:: ...
```
## `hopper get`
2021-11-22 01:43:35 +00:00
Just like `hopper add` but simply downloads a mod jar to the current directory.