Thermal Expansion 脚本类
基本信息
| 属性 | 值 |
|---|---|
| 门控字符串 | ThermalExpansion |
| 插件类 | modtweaker2.mods.thermalexpansion.ThermalExpansion |
| 注册点 | ModTweaker2.java:79 |
| 脚本类数 | 7 |
@ZenMethod |
27 |
| dump 指令 | thermalexpansion |
功能
Thermal Expansion 插件注册 7 个脚本类。每个类都带一个 refreshRecipes 方法——这是本插件独有的一致约定,别的插件都没有「手动刷新配方表」的方法。
| Zenscript 类 | Java 文件 | @ZenMethod |
含 refreshRecipes |
|---|---|---|---|
mods.thermalexpansion.Transposer |
handlers/Transposer.java |
6 | 是 |
mods.thermalexpansion.Pulverizer |
handlers/Pulverizer.java |
4 | 是 |
mods.thermalexpansion.Sawmill |
handlers/Sawmill.java |
4 | 是 |
mods.thermalexpansion.Smelter |
handlers/Smelter.java |
4 | 是 |
mods.thermalexpansion.Crucible |
handlers/Crucible.java |
3 | 是 |
mods.thermalexpansion.Furnace |
handlers/Furnace.java |
3 | 是 |
mods.thermalexpansion.Insolator |
handlers/Insolator.java |
3 | 是 |
逐类方法
| 类 | 添加 | 移除 | 其他 |
|---|---|---|---|
Transposer |
addFillRecipe、addExtractRecipe(2 个重载) |
removeFillRecipe、removeExtractRecipe |
refreshRecipes |
Pulverizer |
addRecipe(2 个重载) |
removeRecipe |
refreshRecipes |
Sawmill |
addRecipe(2 个重载) |
removeRecipe |
refreshRecipes |
Smelter |
addRecipe(2 个重载) |
removeRecipe |
refreshRecipes |
Crucible |
addRecipe |
removeRecipe |
refreshRecipes |
Furnace |
addRecipe |
removeRecipe |
refreshRecipes |
Insolator |
addRecipe |
removeRecipe |
refreshRecipes |
Transposer 的方法名区分填充(fluid → item)与抽取(item → fluid)两个方向,是该机器的自然语义。
配方注册表
modtweaker2/mods/thermalexpansion/ThermalHelper.java 的静态块一次抓 7 个机器配方的构造器(ThermalHelper.java:32-69)。它的 catch(ThermalHelper.java:71-72)不是空的——它调用 LogHelper.logError("Exception getting constructor for Thermal Expansion recipes!", e) 并传入异常本身。因此 Thermal Expansion 不属于那 6 个静默失败面之列,是两种写法的对照样例,见 反射与日志助手。
dump 指令
/minetweaker thermalexpansion [HANDLER],注册于 Commands.java:189-193,裹在 TweakerPlugin.isLoaded("ThermalExpansion")(Commands.java:188)内。