
随机食谱
基于种子的合成配方随机化 — 每个世界,都是一个新谜题。
查看大图随机合成
确定性合成配方面纱器(Fabric 版)——每个世界,新的谜题。
进入一个世界后,所有工作台合成配方会使用世界种子作为随机源进行洗牌。相同种子 = 永远相同的配方。 不同种子 = 完全不同的配方。非常适合 SMP(多人生存服)——同一世界的所有玩家看到的洗牌后配方完全相同。
功能特性
- 种子确定性洗牌 — 使用 Java 的
Random实现可复现性,一个世界种子控制所有随机化 - 三层配方转换:
- 对原料位置进行 Fisher-Yates 洗牌(仅限非空槽位)
- 每个配方进行 1 到 2 次原料添加、移除(仅限无序配方)或替换操作
- 洗牌后自动检测重复配方并解决冲突
- 全局物品池 — 单材料配方(剪刀、铁粒、压力板等)从所有出现在合成配方中的物品中抽取候选物品,避免“铁换铁”的无变化情况
- 三种受保护默认物品 — 木镐、石镐和铁镐始终保持不变,确保游戏可玩性
- 配置文件扩展 — 通过
config/random-recipes.json可按物品 ID 或特定配方 ID 保护额外物品 - 跨模组兼容 — 自动处理其他模组注册的合成配方
- 支持
/reload— 编辑配置文件后运行/reload;更改立即生效,无需重启
工作原理
| 步骤 | 具体操作 |
|---|---|
| 1. 扫描 | 服务器启动时收集所有类型为 RecipeType.CRAFTING 的配方 |
| 2. 过滤 | 跳过受保护物品(三种镐子 + 配置项) |
| 3. 构建池 | 将出现在任何合成配方中的所有物品收集到全局池中 |
| 4. 洗牌 | 每个未受保护的配方先对其原料进行洗牌,然后修改 1-2 次 |
| 5. 去重 | 检查最终列表中的(输出 + 原料组)对是否重复;自动解决冲突 |
安装方法
- 安装 Fabric Loader ≥ 0.15
- 安装 Fabric API
- 将 jar 文件放入
.minecraft/mods/目录 - 启动 Minecraft 1.20.1
配置说明
首次运行时自动在 config/random-recipes.json 生成:
{
"protected_output_items": [
"minecraft:wooden_pickaxe",
"minecraft:stone_pickaxe",
"minecraft:iron_pickaxe"
],
"protected_recipe_ids": []
}
| 字段 | 用途 | 示例 |
|---|---|---|
protected_output_items |
保护所有产出特定物品的配方 | "minecraft:diamond_sword" |
protected_recipe_ids |
通过命名空间 ID 保护特定配方 | "mymod:special_item" |
从源码构建
git clone https://github.com/Annieif/random-recipes.git
cd random-recipes
./gradlew build
构建产物位于 build/libs/random-recipes-*.jar。
截图

相关链接
许可证
MIT
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。