/minetweaker 指令列表

基本信息

属性 值
注册文件 src/main/java/modtweaker2/Commands.java(203 行)
注册入口 Commands.registerCommands()(Commands.java:33)
指令总数 24
调用时机 每次 MineTweaker 脚本重载 + 服务端启动
前置判据 MineTweakerAPI.server != null(Commands.java:34)

功能

ModTweaker 注册的全部指令都以 /minetweaker 为前缀,作用是把某个模组的注册表导出成可粘贴的 Zenscript 字面量,供写脚本时查配方键名。它们是只读诊断工具,不改动任何游戏数据。

注册时机

Commands.registerCommands() 每次 MineTweaker 脚本重载(ModTweaker2.java:90-97)和服务端启动(ModTweaker2.java:111-116)时各调一次,两条路径都经由 CommonProxy.registerCommands() / ClientProxy.registerCommands()(CommonProxy.java:7-9、ClientProxy.java:9-11,二者方法体相同)转发到 Commands。

整个方法体包在 if (MineTweakerAPI.server != null)(Commands.java:34)内——服务端未就绪时一条都不注册。重载时若注册表未重建,靠 TweakerPlugin.isLoaded 判据(见下)也不会重复添加。

24 条指令

指令 门控 导出内容
tooltips 无 不导出;开关物品 tooltip 叠加层,见 tooltip 叠加
entities 无 实体 ID ↔ 类名映射(EntityMappingLogger)
appeng appliedenergistics2-core AE2 全部配方
auras aura Aura Cascade 灵气类型列表
lexiconCategories Botania 辞典分类
lexiconPages Botania 辞典页面(可带 [ENTRY] 参数)
botaniaBrews Botania 魔酿键名
lexiconKnowledgeTypes Botania 辞典知识类型键名
botaniaOrechid Botania 兰花(Orechid)权重键名
botania Botania Botania 全部配方
treeCrafting shadowfox_botany Botanical Addons 树木合成配方
chiselGroups chisel 凿刻组
chiselVariations chisel 凿刻变体(可带 [GROUP] 参数)
exnihilo exnihilo Ex Nihilo 全部配方
factorization factorization Factorization 全部配方
gases Mekanism 全部气体名
mekanism Mekanism Mekanism 全部配方
railcraft Railcraft Railcraft 全部配方
materials TConstruct 建材名称
modifiers TConstruct 修饰符名称
tconstruct TConstruct Tinkers Construct 全部配方
research Thaumcraft 研究分类名,或某分类下的研究键(可带 [CATEGORY] 参数)
aspectList Thaumcraft 注册到实体与物品上的要素
thermalexpansion ThermalExpansion Thermal Expansion 全部配方

只有 tooltips 与 entities 无条件注册(名称字面量分别见 Commands.java:37、:49);其余 22 条各自裹在 if (TweakerPlugin.isLoaded("<门控>")) 里(Commands.java:54、:62、:69、:99、:107、:119、:127、:135、:148、:156、:174、:188,共 12 处判据)。被桥接但没有 dump 指令的 7 个插件是 Forestry、Mariculture、Metallurgy、PneumaticCraft、extendedWorkbench、ExtraUtilities、IC2。

多数 dump 指令接受可选的 [HANDLER] 参数,用来把导出范围收窄到某台机器。

输出去向

日志类指令统一经 LogHelper 输出到 minetweaker.log,并在聊天栏回一句 List generated; see minetweaker.log in your logs dir(LogHelper.logPrinted,LogHelper.java:33-38)。ClientEvents 在按住疾跑键时额外把内容打到游戏控制台(ClientEvents.java:30-35)。

entities 指令与访问转换器

EntityMappingLogger(EntityMappingLogger.java:16-34)读 EntityList.stringToIDMapping 这个 private 字段。它能读是因为本模组自带一条访问转换器(src/main/resources/META-INF/modtweaker2_at.cfg,1 行):

public net.minecraft.entity.EntityList field_75622_f # stringToIDMapping

该文件由 gradle.properties:107 的 accessTransformersFile = modtweaker2_at.cfg 挂载。这是 ModTweaker 唯一一条 AT,也是它唯一一处对 Minecraft 自身类做可见性修改。

相关条目