hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 95b68ed5f8958c666e952744a57181beb64c2a71 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# Benson
Mod Manager from hell, for Willy World

## Setup

```bash
npm install
```

## Configuration

### `config/config.json`

```json
{
    "channel_id": "YOUR_CHANNEL_ID_HERE",
    "check_interval_minutes": 60,
    "minecraft_version": "1.21.10",
    "fabric_loader_version": "0.17.3",
    "loader_meta_version": "1.1.0",
    "modrinth_mods": [
        "fabric-api",
        "lithium",
        "simple-voice-chat"
    ]
}
```

### `config/api.json` (for Discord bot)

```json
{
    "token": "your-bot-token-here"
}
```

## Discord Bot

Monitors Modrinth for mod updates and posts compatibility reports to a Discord channel.

```bash
npm run bot
```

## Server Manager CLI

Interactive CLI for managing mods and server files.

```bash
npm run benson
```

```
  ╔══════════════════════════════════════╗
  ║           BENSON CLI v1.0            ║
  ║    Fabric Mod Manager for MC 1.21.10 ║
  ╚══════════════════════════════════════╝

  Type 'help' for available commands.

benson> _
```

### Commands

| Command | Description |
|---------|-------------|
| `list-mods` | List configured mods |
| `generate` | Download mods + server, run to generate files |
| `merge` | (coming soon) |
| `clean generated` | Remove generated server files |
| `clean all` | (coming soon) |
| `help` | Show available commands |
| `exit` | Exit the CLI |

## Project Structure

```
Benson/
├── lib/
│   ├── modrinth.js    # Shared Modrinth API functions
│   └── config.js      # Shared config/cache utilities
├── bot/
│   └── app.js         # Discord bot
├── updater/
│   └── cli.js         # Interactive CLI
├── config/
│   ├── config.json    # Main configuration
│   └── api.json       # Discord token (not in repo)
├── cache/             # Version cache (auto-generated)
└── server/            # Server files (auto-generated)
```