跳到正文
烈焰甘蔗Wiki

TileEntityChurn

事实基准:harvestcraft-1.3.14-GTNH.jar(MC 1.7.10 / Forge 10.13.4.1614)CFR 0.152 反编译源码。

注册信息

属性 值 来源
TileEntity 注册名 PamChurn HarvestCraft.java:98
类 TileEntityChurn implements IFuelHandler TileEntityChurn.java:22
关联方块 Churn(harvestcraft:churn) BlockRegistry.java:647
GUI ID 6 BlockPamChurn.java:55
容器类 ContainerChurn GuiHandler.java:67
GUI 类 GuiChurn GuiHandler.java:107

槽位数量与布局

private ItemStack[] churnItemStacks = new ItemStack[3](TileEntityChurn.java:31)

槽位 内容 槽位类 GUI 坐标(ContainerChurn.java:32-35)
0 待加工原料 Slot (80, 17)
1 燃料 Slot (80, 53)
2 成品 结果槽(只可取出) (80, 35)

共 3 槽(原料 / 燃料 / 成品),结构与 Oven 完全同型。

可处理的操作

操作 说明 行
查产物 ChurnRecipes.getSmeltingResult(ItemStack) —
燃料判定 先查矿辞典盐,再 GameRegistry.getFuelValue :40-42
盐的矿辞典名 依次 dustSalt → itemSalt → foodSalt :55-57

配方条数 = 1

私有构造器 ChurnRecipes.java:19-34 内只有 1 处注册调用:ChurnRecipes.java:20 —— 鲜奶 → 黄油(freshmilkItem → butterItem)。

必须排除的干扰项::28 与 :32 虽同为 this.addSmelting(...) / this.addSmeltingRecipe(...) 字面调用,但它们分别是 addSmeltingRecipeForBlock 与 addSmeltingRecipe 两个私有辅助方法的方法体;:41 与 :57 的 for (Map.Entry …) 是读取循环。无枚举/循环注册。

结论:Churn 只有 1 条配方,与随包文档 HarvestCraft 1.7.10Lb Recipes.txt 的 //CHURN RECIPES 段落吻合。

处理耗时 / 速率

参数 值 行
完成判定 churnCookTime == 200 → 200 tick = 10 秒 TileEntityChurn.java:192
每 tick 燃料消耗 -1 func_145845_h
进度条分母 200 同上
GUI 进度条像素 24 GuiChurn.java:43
盐的燃料值 1600 tick TileEntityChurn.java:40
并行产能 有(可容纳物品数 > 1 时每轮同时烤 2 件) func_145845_h

进度条分母 200 与阈值 200 一致,箭头可填满 —— 这是 Churn 相对 Oven 少一个 bug 的地方。

Churn 比 Oven 慢一倍(200 vs 100 tick)。

源码缺陷

  • 本类未发现独立的源码缺陷。其「配方少」是设计事实而非 bug:Churn 专精乳品加工。
  • 多方块 / 控制器 / 可否旋转:源码未定义。
  • 矿辞典三名称回退意味着只有 dustSalt/itemSalt/foodSalt 三个具名物品能点燃 Churn,其它矿辞典盐无效 —— 这是实现限制,不是缺陷,但容易被误认为 bug。

相关条目

  • 方块:Churn
  • 兄弟:Oven(100 tick,更快)、Quern(200 tick,燃料为原版方块)
浏览全部模组