粘性罐 Sticky Jar
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | gadomancy:BlockStickyJar |
| 注册位置 | common/registration/RegisteredBlocks.java:90 |
| 继承 | thaumcraft.common.blocks.BlockJar + IBlockTransparent(BlockStickyJar.java:40) |
| TileEntity | TileStickyJar(RegisteredBlocks.java:135) |
| 显示名 | Sticky Jar(en_US.lang:210) |
| 硬度 / 抗性 | 继承自 Thaumcraft BlockJar,本类未覆写 |
| 创造标签 | setCreativeTab(null) —— 不进创造模式物品栏(BlockStickyJar.java:43) |
功能
粘性罐是 Gadomancy 最早加入的机制:对任意「可粘」的罐子底部施加黏着剂,使其能吸附在侧面甚至天花板上。破坏罐子不会移除黏着剂,因此粘性罐可以反复回收再用。
RegisteredBlocks.registerDefaultStickyJars() 预注册了 3 个可粘方块(RegisteredBlocks.java:163-168):
| 方块 | 元数据 | 可贴标签 | 可装药瓶 |
|---|---|---|---|
Thaumcraft ConfigBlocks.blockJar |
0 | 是 | 是 |
Thaumcraft ConfigBlocks.blockJar |
3 | 是 | 是 |
gadomancy:BlockRemoteJar |
0 | 否 | 否 |
预注册列表同时是创意标签页物品栏的来源(RegisteredBlocks.java:172-183),并被 getStickyJarInfo 供 Infusion Claw 查询。
对应的物品侧可粘列表在 RegisteredItems.registerDefaultStickyJars()(RegisteredItems.java:216-230):
| 物品 | 元数据 | 配方展示栈 | 研究门槛 |
|---|---|---|---|
Thaumcraft ConfigItems.itemJarFilled |
0 | 无(仅供查询) | 无 |
Thaumcraft ConfigItems.itemJarFilled |
3 | 无(仅供查询) | 无 |
ConfigBlocks.blockJar 的 ItemBlock |
0 | itemBlockJar meta 0 |
JARLABEL |
ConfigBlocks.blockJar 的 ItemBlock |
3 | itemBlockJar meta 3 |
JARVOID |
BlockRemoteJar 的 ItemBlock |
0 | ItemStack | REMOTEJAR |
getStickyJarStacks 会按玩家研究完成情况过滤(RegisteredItems.java:272-281),未解锁对应研究时该物品不出现在配方中。
数值
| 数值名 | 值 |
|---|---|
| 预注册可粘方块条目 | 3 |
| 预注册可粘物品条目 | 5 |
| 继承的容器大小 | 来自 Thaumcraft BlockJar(Thaumcraft 罐子为 4 格),本类未覆写 |
交互
| 触发 | 行为 |
|---|---|
| 放置 | 由 BlockJar 提供罐子放置逻辑,Gadomancy 只负责黏着判定 |
| 黏着判定 | RegisteredBlocks.getStickyJarInfo(world,x,y,z) 查预注册表,命中即可黏附(RegisteredBlocks.java:176-183) |
| 破坏 | 黏着剂保留,罐子可再次使用 |
| 创造模式 | 不可直接获得,必须先用普通罐子走「粘性罐」流程 |
合成配方
本体本身没有直接配方——它是通过给既有罐子施加黏着剂获得的。研究 STICKYJAR(RegisteredResearches.java:698)对应的配方由 RecipeStickyJar 实现(RegisteredRecipes.java:140 附近,recipeStickyJar = new RecipeStickyJar()),玩家在研究页选择要改造的罐子即可产出粘性版本。