aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/packages/docs/content/zh/features/mod-loaders.mdx
blob: 36872303659c1d8adc16c5ded3b3e212fca8675c (plain) (blame)
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
---
title: 模组加载器
description: Fabric 和 Forge 安装和管理
---

# 模组加载器

DropOut 支持两个最流行的 Minecraft 模组加载器:Fabric 和 Forge。两者都可以直接从启动器中轻松安装和管理。

## Fabric 支持

### 概述

Fabric 是一个轻量级、模块化的模组工具链,专注于:
- 快速更新至新的 Minecraft 版本
- 干净、极简的 API
- 强大的开发者社区
- 优异的性能

### 安装

1. 导航至 **Versions** 选项卡
2. 点击 **"Install Fabric"**
3. 选择 Minecraft 版本
4. 选择 Fabric 加载器版本
5. 点击 **"Install"**
6. 等待安装完成

### 工作原理

**Meta API 集成:**
```rust
// Fetch available Fabric versions
let url = format!(
    "https://meta.fabricmc.net/v2/versions/loader/{}",
    minecraft_version
);
```

**配置文件生成:**
1. 获取 Fabric 加载器元数据
2. 下载 Fabric 库
3. 使用 `inheritsFrom` 生成版本 JSON
4. 与父级 Minecraft 版本合并
5. 添加至版本列表

**版本格式:**
```json
{
  "id": "fabric-loader-0.15.0-1.20.4",
  "inheritsFrom": "1.20.4",
  "mainClass": "net.fabricmc.loader.impl.launch.knot.KnotClient",
  "libraries": [...]
}
```

### Fabric 版本

**加载器版本:**
- 最新稳定版(推荐)
- 用于兼容性的特定版本
- Beta/快照版本

**游戏版本:**
- 所有 1.14+ 的 Minecraft 版本
- 支持快照版本
- 支持战斗测试版本

### 库管理

Fabric 库从 Maven 解析:

**主库:**
```
net.fabricmc:fabric-loader:0.15.0
```

**依赖项:**
- `net.fabricmc:tiny-mappings-parser`
- `net.fabricmc:sponge-mixin`
- `net.fabricmc:access-widener`

**下载:**
```rust
// Maven resolution
let url = format!(
    "https://maven.fabricmc.net/{}/{}",
    artifact_path, filename
);
```

### Fabric API

Fabric Loader ≠ Fabric API:
- **Fabric Loader**: 模组加载器(由 DropOut 安装)
- **Fabric API**: 库模组(单独下载)

许多模组需要 Fabric API:
1. 从 [Modrinth](https://modrinth.com/mod/fabric-api) 或 [CurseForge](https://www.curseforge.com/minecraft/mc-mods/fabric-api) 下载
2. 放置在实例的 `mods/` 文件夹中

## Forge 支持

### 概述

Forge 是原始的、最流行的 Minecraft 模组加载器:
- 广泛的模组生态系统
- 成熟的 API
- 广泛的版本支持
- 庞大的社区

### 安装

1. 导航至 **Versions** 选项卡
2. 点击 **"Install Forge"**
3. 选择 Minecraft 版本
4. 选择 Forge 版本
5. 点击 **"Install"**
6. 等待安装程序运行
7. 安装完成

### 工作原理

**Forge 安装程序:**
```rust
// Download Forge installer
let installer_url = format!(
    "https://maven.minecraftforge.net/net/minecraftforge/forge/{}/forge-{}-installer.jar",
    full_version, full_version
);

// Run installer
java -jar forge-installer.jar --installClient
```

**配置文件解析:**
1. Forge 安装程序创建版本 JSON
2. DropOut 解析安装配置文件
3. 提取库依赖项
4. 处理处理器(如果有)
5. 生成启动器配置文件

**版本格式:**
```json
{
  "id": "1.20.4-forge-49.0.26",
  "inheritsFrom": "1.20.4",
  "mainClass": "cpw.mods.bootstraplauncher.BootstrapLauncher",
  "libraries": [...]
}
```

### Forge 版本

**发布类型:**
- **Latest**: 最新的稳定版本
- **Recommended**: 生产环境中最稳定的版本
- **Specific**: 版本锁定以确保兼容性

**Minecraft 版本支持:**
- 旧版本 (1.6.4+)
- 现代版本 (1.13+)
- 最新版本 (1.20+)

### 库管理

Forge 有许多库:

**核心库:**
- `net.minecraftforge:forge:<version>`
- `net.minecraftforge:fmlloader:<version>`
- `org.ow2.asm:asm:<version>`

**解析:**
```rust
// Forge Maven
"https://maven.minecraftforge.net/"

// Dependencies may use:
// - Maven Central
// - Minecraft Libraries
```

### Forge 处理器

某些 Forge 版本在安装期间运行"处理器":
- 字节码操纵
- 库修补
- 映射生成

DropOut 自动处理这些操作。

## 版本继承

Fabric 和 Forge 都使用 Minecraft 的继承系统:

### 父版本

```json
{
  "id": "fabric-loader-0.15.0-1.20.4",
  "inheritsFrom": "1.20.4"  // Parent vanilla version
}
```

### 合并过程

**库:**
```rust
// Merged from both
parent_libraries + modded_libraries
// Duplicates removed
```

**参数:**
```rust
// Combined
parent_jvm_args + modded_jvm_args
parent_game_args + modded_game_args
```

**资源:**
```rust
// Inherited from parent
assets = parent.assets
```

**主类:**
```rust
// Overridden by modded
main_class = modded.mainClass
```

## 对比

| 功能 | Fabric | Forge |
|---------|--------|-------|
| **性能** | 优异 | 良好 |
| **更新速度** | 非常快 | 中等 |
| **模组选择** | 增长中 | 广泛 |
| **API 简洁性** | 简洁 | 复杂 |
| **版本支持** | 1.14+ | 1.6.4+ |
| **开发者友好** | 非常友好 | 中等 |
| **稳定性** | 优异 | 优异 |

## 安装模组

### Fabric 模组

1. 创建/选择实例
2. 确保 Fabric 已安装
3. 从以下位置下载模组:
   - [Modrinth](https://modrinth.com/)
   - [CurseForge](https://www.curseforge.com/)
   - [GitHub Releases](https://github.com/)
4. 将 `.jar` 文件放置在 `instances/<name>/mods/`
5. 启动游戏

**兼容性:**
- 检查 Minecraft 版本
- 检查 Fabric Loader 版本
- 检查 Fabric API 需求
- 阅读模组依赖项

### Forge 模组

1. 创建/选择实例
2. 确保 Forge 已安装
3. 从以下位置下载模组:
   - [CurseForge](https://www.curseforge.com/)
   - [Modrinth](https://modrinth.com/)
4. 将 `.jar` 文件放置在 `instances/<name>/mods/`
5. 启动游戏

**兼容性:**
- 精确检查 Minecraft 版本
- 检查 Forge 版本范围
- 阅读模组依赖项
- 检查冲突

## 故障排除

### Fabric 问题

**"Fabric Loader not found"**
- 重新安装 Fabric
- 检查版本 JSON 是否存在
- 验证库是否已下载

**"Mixin apply failed"**
- 模组不兼容
- 删除冲突的模组
- 更新 Fabric Loader

**"Fabric API required"**
- 下载 Fabric API
- 匹配 Minecraft 版本
- 放置在 mods 文件夹中

### Forge 问题

**"Forge installer failed"**
- 验证 Java 安装
- 检查磁盘空间
- 尝试旧版本的 Forge
- 检查日志获取详细信息

**"Missing dependencies"**
- 安装所需的模组
- 检查模组版本兼容性
- 仔细阅读错误消息

**"Class not found"**
- Forge 版本不匹配
- 重新安装 Forge
- 验证库是否已下载

### 常见模组问题

**启动时崩溃:**
1. 检查崩溃报告
2. 识别有问题的模组
3. 删除或更新模组
4. 使用最少的模组测试
5. 逐步添加模组回来

**性能问题:**
1. 安装了太多模组
2. 增加内存分配
3. 安装性能模组:
   - Fabric: Sodium, Lithium
   - Forge: OptiFine, Magnesium
4. 删除资源密集型模组

## API 参考

### Tauri 命令

**安装 Fabric:**
```typescript
await invoke('install_fabric', {
  minecraftVersion: '1.20.4',
  loaderVersion: '0.15.0'
});
```

**安装 Forge:**
```typescript
await invoke('install_forge', {
  minecraftVersion: '1.20.4',
  forgeVersion: '49.0.26'
});
```

**列出 Fabric 版本:**
```typescript
const versions = await invoke('get_fabric_versions', {
  minecraftVersion: '1.20.4'
});
```

**列出 Forge 版本:**
```typescript
const versions = await invoke('get_forge_versions', {
  minecraftVersion: '1.20.4'
});
```

### 事件

**安装进度:**
```typescript
listen('mod-loader-progress', (event) => {
  const { stage, percent } = event.payload;
  // Stages: "downloading", "installing", "processing", "complete"
});
```

## 最佳实践

### 对于玩家

1. **每个实例选择一个模组加载器**
2. **精确匹配版本** - Minecraft 和加载器
3. **安装前阅读模组要求**
4. **循序渐进** - 逐步添加模组
5. **备份世界** - 添加模组前备份
6. **检查兼容性** 列表
7. **谨慎更新** - 在单独的实例中测试

### 对于模组包创建者

1. **记录版本** - MC、加载器、所有模组
2. **彻底测试** - 所有功能
3. **列出依赖项** - 包括 API
4. **提供更新日志** - 用于更新
5. **版本锁定** - 为了稳定性
6. **包含配置** - 预配置
7. **测试更新** - 发布前测试

## 未来功能

- **模组浏览器** - 从启动器安装模组
- **自动更新** - 保持模组最新
- **依赖项解析** - 自动安装需求
- **冲突检测** - 警告不兼容性
- **配置文件导出** - 共享模组包配置
- **CurseForge 集成** - 直接模组包导入
- **Modrinth 集成** - 模组搜索和安装