Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/amesgen/hellsmack
Minecraft stuff
https://github.com/amesgen/hellsmack
curseforge fabric launch-mc minecraft minecraft-forge minecraft-installer minecraft-mods
Last synced: 4 months ago
JSON representation
Minecraft stuff
- Host: GitHub
- URL: https://github.com/amesgen/hellsmack
- Owner: amesgen
- License: cc0-1.0
- Created: 2020-12-26T00:46:26.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2023-03-02T04:57:28.000Z (almost 2 years ago)
- Last Synced: 2023-03-08T21:47:19.689Z (almost 2 years ago)
- Topics: curseforge, fabric, launch-mc, minecraft, minecraft-forge, minecraft-installer, minecraft-mods
- Language: Haskell
- Homepage:
- Size: 200 KB
- Stars: 4
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# hellsmack
![CI](https://github.com/amesgen/hellsmack/workflows/CI/badge.svg)
Some Minecraft stuff as a CLI:
- No GUI
- uNiX pHiLoSoPhY
- Does work offline if all necessary files have been downloaded previously
- Launch Minecraft
- client and server
- works at least for recent-ish versions (>= 1.7)
- automatic Forge installation (in particular for > 1.12)
- automatic Fabric installation
- Manage CurseForge mods
- install
- update
- deduplicate
- Install and update CurseForge modpacks## Usage
### Launching
Launch Vanilla MC:
```bash
hellsmack launch client 1.16.5 /path/to/game/dir
```Launch MC 1.12.2 with latest Forge:
```bash
hellsmack launch client 1.12.2 -f latest /path/to/game/dir
```
One can also use `recommended`.Launch MC 1.16.5 with specific Forge version (see [Forge download page](https://files.minecraftforge.net/)):
```bash
hellsmack launch client 1.16.5 -f 35.1.13 /path/to/game/dir
```Similarly, you can use a specific [Fabric](https://fabricmc.net/) version:
```bash
hellsmack launch client 1.16.5 --fabric 0.11.3 /path/to/game/dir
```
Again, you can use `recommended` or `latest` to select the latest stable or latest version, resp.In each case, one can use `server` instead of `client`.
#### Authentication
By default, the client is launched in offline mode. To log in with a Mojang account, use
```bash
hellsmack auth login [email protected] correcthorsebatterystaple
```
and then use the flag `-a`/`--authenticate`:
```bash
hellsmack launch -a client 1.16.5 /path/to/game/dir
```### CurseForge
#### Mods
Search for "openc" in MC 1.12.2 on CurseForge and install by selecting e.g. OpenComputers:
```bash
hellsmack curse mods search-install 1.12.2 openc
```Install OpenComputers-MC1.12.2-1.7.5.192 (https://www.curseforge.com/minecraft/mc-mods/opencomputers/files/2828357) via its file ID (also accepts multiple arguments):
```bash
hellsmack curse mods install 2828357
```Interactively update mods in current directory (has multiple options):
```bash
hellsmack curse mods update .
```Deduplicate different versions of the same mod in the current directory:
```bash
hellsmack curse mods deduplicate .
```#### Modpacks
Search and install a client modpack (has multiple filtering options) into the current directory:
```bash
hellsmack curse modpacks search-install client "all the mods"
```Install a modpack (https://www.curseforge.com/minecraft/modpacks/all-the-mods-6/files/3145702) by file ID into the current directory:
```bash
hellsmack curse modpacks install client 3145702
```In each case, one can use `server` instead of `client` (if a server pack is available).
To update a modpack:
1. Backup your saves and customizations in `options.txt`, `config/` etc.
2. Remove all folders except `mods`.
3. Install the new modpack version like above (this will take care of only downloading new/changed mods in the `mods` folder).
4. Reapply your customizations.## Installation
If you are using Nix on Linux x86_64, you can use `pkgs.nur.repos.amesgen.hellsmack` via [NUR](https://github.com/nix-community/NUR).
Alternatively, pre-built binaries can be found on the [release page](https://github.com/amesgen/hellsmack/releases).
Bash/zsh/fish completions are also available, run one of
```bash
hellsmack --bash-completion-script /path/to/hellsmack
hellsmack --zsh-completion-script /path/to/hellsmack
hellsmack --fish-completion-script /path/to/hellsmack
```## Building
This is an ordinary [Cabal](https://www.haskell.org/cabal/) project, so you can e.g. build the main executable via
```bash
cabal build exe:hellsmack
```Alternatively, you can use [haskell.nix](https://input-output-hk.github.io/haskell.nix) to build a fully static Linux x86_64 binary:
```bash
nix build .#binaries-Linux
```## Acknowledgements
There are a myriad of resources about Minecraft launchers out here, but I found [wiki.vg](https://wiki.vg) particularly helpful.