Fuzzy Crafting Table(模糊合成台)
模糊合成台是 LogisticsPipes 模组中的自动合成方块,与普通自动合成台功能相同,但支持模糊匹配。
基本信息
| 属性 | 值 |
|---|---|
| Metadata | 4 |
| TileEntity | LogisticsCraftingTableTileEntity(与普通合成台相同) |
| 父类 | LogisticsSolidTileEntity |
| 渲染模型 | iron block |
| 能量消耗 | 250 LP / 每次合成(可配置) |
与普通自动合成台的区别
模糊匹配
普通自动合成台要求精确的物品匹配(modid + 物品 ID + 元数据 + NBT),而模糊合成台允许以下宽松匹配:
| 匹配类型 | 说明 |
|---|---|
| 工具损耗匹配 | 相同工具不同耐久度视为等价(如耐久度 100 的镐 = 耐久度 50 的镐) |
| modid 无关 | 不同 modid 的等价物品视为相同(如 Forestry 蜜蜂 = IndustrialCraft 蜜蜂) |
| 液体容器 | 装有无差别液体的容器视为等价 |
| Ore Dictionary | 使用矿物词典匹配,任何等价的矿物/物品均可 |
匹配实现
通过 DictResource 和 IResource.MatchSettings 实现:
outputFuzzyFlags.getBitSet().nextSetBit(0) != -1 // 检测模糊标志
testFuzzy(ident, item, i) // 模糊测试
功能
合成机制
- 18 槽资源库存:存储合成所需的原材料
- 9 槽合成矩阵:摆放合成配方
- 1 槽结果槽:输出合成产物
- 模糊配方匹配:允许工具损耗、modid 无关匹配等
合成流程
与普通自动合成台相同,额外步骤:
- 精确匹配失败时,尝试
IRecipe.matches()获取实际配方 - 使用
outputFuzzyFlags.matches()验证结果 - 使用
wanted.matches()验证请求物品
能量消耗
| 参数 | 值 |
|---|---|
| 单次合成消耗 | 250 LP |
| 配置项 | Configs.LOGISTICS_CRAFTING_TABLE_POWER_USAGE |
| 电力来源 | Crafting Pipe 的 ModuleCrafter |
摆放要求
- 普通方块摆放,无特殊位置要求
- 放置时根据玩家朝向自动旋转面朝方向(4 向)
- 必须与 Crafting Logistics Pipe 相邻才能被网络识别
适用场景
- 合成需要大量工具/损耗物品的配方
- 多 mod 环境下物品互换性高的配方
- 需要灵活匹配原材料的配方
交互对象
与 Auto-Crafting Table 完全相同:
- Crafting Logistics Pipe(主要交互)
- 其他模组合成台(Recipe Provider)
- 计算机(OpenComputers / ComputerCraft)