创意标签页
基本信息
| 属性 | 值 |
|---|---|
| 类 | 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 ThaumicMachinaThaumicMachina.java:21资源域 thaumicmachinaassets/thaumicmachina/、TMBlock.java:40创意标签页 ID thaumicMachinacore/TMCreativeTab.java:10物品注册域 ThaumicMachinaTMItem.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(沿用原版)。
相关条目
- Wand Augmentation Core - 本标签页的图标来源
- 配置文件 - 另一个
preInit期初始化的全局对象