Factorization 脚本类
基本信息
| 属性 | 值 |
|---|---|
| 门控字符串 | factorization |
| 插件类 | modtweaker2.mods.factorization.Factorization |
| 注册点 | ModTweaker2.java:71 |
| 脚本类数 | 3 |
@ZenMethod |
6 |
| dump 指令 | factorization |
功能
Factorization 插件注册 3 个脚本类,每个类恰好一对 addRecipe / removeRecipe。
| Zenscript 类 | Java 文件 | @ZenMethod |
|---|---|---|
mods.factorization.Crystallizer |
handlers/Crystallizer.java |
2 |
mods.factorization.Lacerator |
handlers/Lacerator.java |
2 |
mods.factorization.SlagFurnace |
handlers/SlagFurnace.java |
2 |
三者形态完全一致(2 方法 × 3 类 = 6),差别只在机器。
注册表来源与静默失败
modtweaker2/mods/factorization/FactorizationHelper.java 的静态块按字符串类名反射两个 TileEntity 的 recipes 静态表(FactorizationHelper.java:24-27):
factorization.oreprocessing.TileEntitySlagFurnace→recipesfactorization.oreprocessing.TileEntityCrystallizer→recipes
该静态块以完全空的 catch 收尾(FactorizationHelper.java:29)。失败时两字段静默保持 null 且不留日志,见 反射与日志助手。
值得注意的是这处用的是 Class.forName("...") 字符串类名(而非编译期类型),所以编译通过并不保证运行期类名未变——Target 类路径一旦变动,失败会被静默吞掉。
dump 指令
/minetweaker factorization [HANDLER],注册于 Commands.java:128-132,裹在 TweakerPlugin.isLoaded("factorization")(Commands.java:127)内。