创意标签页

基本信息

属性 值
类 TMCreativeTab(继承 CreativeTabs)
标签页 ID thaumicMachina(混合大小写,lang 键 itemGroup.thaumicMachina)
显示名 Thaumic Machina
图标 TMObjects.wandAugmentationCore(Wand Augmentation Core)
创建时机 ProxyCommon.preInit(core/proxy/ProxyCommon.java:44)
赋值时机 ThaumicMachina.tab = new TMCreativeTab();,早于 TMObjects.loadObjects()(:49)
归属方块 / 物品 3 / 3(全部)

初始化顺序(关键)

TMCreativeTab.getTabIconItem() 返回 TMObjects.wandAugmentationCore,而该字段在 TMObjects.loadObjects()(core/TMObjects.java:41)中才被赋值。preInit 中的顺序保证了正确性:

ThaumicMachina.tab = new TMCreativeTab();   // :44  标签页先建
ItemNodeAugmentation.loadAugmentations();    // :45
this.registerWandAugmentations();            // :46
WandTriggerRegistry...                       // :47-48
TMObjects.loadObjects();                     // :49  物品后建

TMItem / TMBlock 构造器内都调用 setCreativeTab(ThaumicMachina.tab)(item/TMItem.java:20、block/TMBlock.java:26,34),因此 3 个方块和 3 个物品全部落在该标签页。

数值

数值 值
标签页 ID thaumicMachina
lang 键 itemGroup.thaumicMachina=Thaumic Machina
图标物品 ThaumicMachina:wandAugmentationCore
归属方块 3
归属物品 3
getTabIconItem() 缓存 无(每次调用直接读静态字段)

交互

标准创造模式物品栏分页。无自定义排序、无子类分页、无隐藏物品逻辑。

源码缺陷

  • 标签页 ID 大小写与 modid / 资源域均不一致,三种写法并存:

    用途 写法 位置
    modid ThaumicMachina ThaumicMachina.java:21
    资源域 thaumicmachina assets/thaumicmachina/、TMBlock.java:40
    创意标签页 ID thaumicMachina core/TMCreativeTab.java:10
    物品注册域 ThaumicMachina TMItem.java:21,29
    纹理前缀 两种混用 TMItem.java:35(混合)/ TMBlock.java:40(小写)

    1.7.10 的 CreativeTabs 会用 creativeTab.setTabLabel() 与 lang 键 itemGroup.<unlocalizedName> 查找,ID 大小写在多数实现下不敏感,故当前可用;跨平台打包一致性存疑。

  • getTabIconItem() 未缓存:1.7.10 的 CreativeTab.displayJars 每次刷新都调用,可能在 TMObjects.loadObjects() 之前被触发(若其他 mod 的 preInit 顺序靠前)。此时返回 null,标签页图标缺失。当前靠 ProxyCommon 的顺序 + 模组加载序掩盖。

  • 标签页只放 6 个物品,其中 5 个无配方(3 方块 + Node Augmentation + Wand Core),实际可用内容仅 1 个 —— 标签页内容与可玩内容严重不匹配。

  • TMCreativeTab 无 setNoSort 等定制,也未处理 CreativeTabs 的 tabBackgroundTexture(沿用原版)。

相关条目