Alchemical Grate
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | alchgrate:alchgrate |
| TileEntity | com.technicianlp.chestgrate.TileChestGrate |
| 硬度 | 3.0 |
| 爆炸抗性 | 17.0 |
| 材质 | Material.iron |
| 脚步声 | Block.soundTypeMetal |
| 创造标签 | thaumcraft.common.Thaumcraft.tabTC |
| 实体方块 | 否(func_149730_j / isOpaqueCube 均返回 false,但拥有 TileEntity) |
| 比较器输出 | 是(hasComparatorInputOverride 返回 true) |
功能
Alchemical Grate(炼金栅格)是 Thaumcraft 4 的附属方块,放置在 高级炼金炉(Advanced Alchemy Furnace, meta 0)的正上方时,会周期性地将自身 5 格槽位内的物品投入炉中处理。本质上是 Hungry Chest 与 Grate(排水口)的组合:物品既存在于容器内,又可以"漏"到下方的炉子。
主要行为:
- 每个游戏 tick(
updateEntity)检测下方是否为TileAlchemyFurnaceAdvanced,若否则静默不工作 - 每 tick 最多向下方炉子输送 1 个物品,输送成功时:
- 调用
furnace.process(stack)—— 真正由炉子决定是否接收该物品 - 若返回 true:从对应槽位
decrStackSize(i, 1)减一 - 播放
thaumcraft:bubble音效(音量 0.2,音高 1.0 + rand × 0.4)
- 调用
- 槽位过滤:仅接受带 Aspect(魔法要素)的物品 ——
isItemValidForSlot通过ThaumcraftCraftingManager.getObjectTags+getBonusTags判断 AspectList 是否非空 - 比较器:按
Container.calcRedstoneFromInventory返回红石强度(与箱子/漏斗一致) - 破坏时全部物品按伪随机偏移弹出为
EntityItem - 不可关闭:失去原 Hungry Chest 关闭功能(参见 Research 描述
lost some capacity and the ability to close)
摆放要求
- 朝向:无朝向概念
- 邻接要求:必须正下方为 meta=0 的高级炼金炉(
ConfigBlocks.blockAlchemyFurnace且 metadata == 0) - 放置时通过
canPlaceBlockAt校验validPosition(world, x, y, z) - 邻接变化:
onNeighborBlockChange检测下方若不再满足条件,自毁并掉落自身(dropBlockAsItem+setBlockToAir) - 边界:碰撞箱与选中箱均为
(0, 0.8125, 0) → (1, 1, 1)(仅顶部一小片);手持预览时setBlockBoundsForItemRender调整为中心对称版本
数值
| 数值名 | 值 |
|---|---|
| 槽位数 | 5 |
| 单槽上限 | 64 |
| 每 tick 输送量 | 至多 1 个物品 |
| 比较器输出范围 | 0–15(按占用槽位比例) |
| Aspect 过滤 | 必须非空(任何带欧拉、秘法、虚空、火焰等要素的物品) |
交互
| 触发 | 行为 |
|---|---|
| 左键 | 无特殊行为 |
| 右键 | 打开 Grate GUI(GUI ID 0,5 个输入槽 + 玩家背包 + 快捷栏,使用 hopper.png 背景) |
| 比较器读取 | 返回 0–15 红石强度(按 Container.calcRedstoneFromInventory) |
| 邻接方块变化(下方法不再合法) | 自动破坏 + 掉落自身 |
| 手动破坏 | 5 槽内容按高斯偏移散落为 EntityItem |
| 命名 | 放置时若 ItemStack 有 display name,写入 TileChestGrate.customName 并以 container.alchgrate 显示 |
合成配方
注册为 Thaumcraft 的 ShapedArcaneRecipe(在 Main.postInit 中调用 ThaumcraftApi.addArcaneCraftingRecipe):
TGT
VSV
TCT
| 字符 | 物品 |
|---|---|
T |
神秘螺丝(screwThaumium,来自 Thaumcraft 物品字典) |
G |
投掷器(Botania:openCrate,若加载 Botania;否则回退到原版 Blocks.dropper) |
V |
虚空板(plateVoid,来自 Thaumcraft 物品字典) |
S |
灵魂碎片(ConfigItems.itemShard meta 6) |
C |
饥饿箱(ConfigBlocks.blockChestHungry) |
所需 Aspects:Aspect.ORDER 50 + Aspect.ENTROPY 50 + Aspect.EARTH 25。
GUI 布局
由 ContainerChestGrate + GuiContainerChestGrate 实现:
- 5 个 Grate 输入槽:
x = 44 + i × 18,y = 20(与漏斗布局一致) - 玩家背包 3×9:
y = 51起 - 玩家快捷栏:
y = 109 - 背景纹理:
textures/gui/container/hopper.png(复用漏斗的 GUI 皮肤) - 标题文本由
GuiContainerChestGrate.drawGuiContainerForegroundLayer绘制:8, 6处显示 Grate 标题(颜色0x404040),8, ySize-96+2处显示玩家背包标题
第三方模组集成
- Thaumcraft 4:必需前置
required-after:Thaumcraft@[4.2.3.5,)。方块使用Thaumcraft.tabTC作为创造标签;制造配方走ThaumcraftApi.addArcaneCraftingRecipe;研究走ResearchItem(idALCHGRATE),隐藏(setConcealed),父研究为ADVALCHEMYFURNACE、HUNGRYCHEST、GRATE,归属分类ARTIFICE。研究 Aspects:VOID 1+AURA 1+MAGIC 1+ORDER 1+ENTROPY 1,复杂度 4。 - Botania:可选。若加载则合成配方中的
G槽位使用Botania:openCrate;否则回退到原版Blocks.dropper。通过Loader.isModLoaded("Botania")检测。
相关条目
- 高级炼金炉组合 - 该方块所属的多方块结构(栅格 + 高级炼金炉)