Extended Workbench 脚本类

基本信息

属性 值
门控字符串 extendedWorkbench
插件类 modtweaker2.mods.extendedworkbench.ExtendedWorkbench
注册点 ModTweaker2.java:70
脚本类数 1
@ZenMethod 3
脚本类名 mods.extendedworkbench(单段名,无子包)
dump 指令 无

功能

Extended Workbench 插件注册 1 个脚本类。

方法 作用
addShaped 添加有序合成配方
addShapeless 添加无序合成配方
removeRecipe 移除配方

脚本类名只有一段

mods.extendedworkbench 是全仓唯一没有子包的脚本类名——其余 96 个 @ZenClass 至少是 插件名.机器名 的两段式。它也是唯一以 @ZenClass("mods.extendedworkbench") 直接等于插件包名(去掉 modtweaker2.mods. 前缀)的类。

编译依赖的特殊处理

Extended Workbench 在 dependencies.gradle 里没有对应的 compileOnly 声明。它的 API 由 src/compileHelper/java/naruto1310/extendedworkbench/crafting/ 下的 5 个本仓库自带的桩源码提供:

  • ExtendedCraftingManager.java
  • ExtendedShapedRecipes.java
  • ExtendedShapelessRecipes.java
  • IExtendedRecipe.java
  • 另加 src/compileStubs/java/net/minecraft/ 下的 4 个 Minecraft 侧桩(InventoryCrafting、ItemStack、IRecipe、World)

这些桩经 addon.gradle 声明的 compileHelper / compileStubs source set 参与编译(addon.gradle:1-8、dependencies.gradle 末两行),只在编译期存在,不打进产物。因此 Extended Workbench 是 19 个桥接插件中唯一一个目标模组 API 由本仓库自己提供桩代码的。

这意味着桩代码与真实模组 API 若已漂移,编译期不会报错——Class.forName 式的失败要等到运行时才会暴露,而插件注册失败会被 TweakerPlugin.load 的 catch 吞掉,见 插件加载器。

无 dump 指令

Extended Workbench 没有对应的 /minetweaker dump 指令,属于 7 个无 dump 指令的桥接插件之一。

相关条目