CraftingHandler
基本信息
| 属性 | 值 |
|---|---|
| 类名 | mantle.utils.CraftingHandler |
| 类型 | class,4 个 public 方法 |
| 源码规模 | 335 行(本 mod 最大的非客户端类) |
| 触发 | Mantle.serverStart(服务端启动时) |
| 启用版本 | 1.7.10 |
功能
配方冲突探测器:扫描所有已注册配方,找出「同输入多输出」的冲突配方 并打日志,方便 mod 作者定位自己的配方被谁覆盖。
实现要点
- 输出由
CoreConfig.dumpRecipeConflicts开关控制(默认false)。 - 入口
logConflicts()(第 29 行)→getPotentialConflicts()(第 46 行)返回Map<IRecipe, List<IRecipe>>:key 是先注册的配方,value 是与之冲突的后继配方。 areItemStacksEqual/compdamage(第 315、330 行)是它自带的ItemStack相等比较——不比较 NBT,也不比较数量。- ⚠️ 语义提示:返回的 map 表达的是「同时可用」的候选,不代表某个配方已经失效;Forge 实际取第一个匹配的配方。
相关条目
- CoreConfig -
dumpRecipeConflicts开关 - Mantle -
serverStart触发方 - RecipeRemover - 同包的配方移除工具
- ComparisonHelper - 比较逻辑工具