Dynamo

基本信息

属性 值
注册名 TMechworks:dynamo
方块类 DynamoBlock(BlockContainer)
TileEntity DynamoLogic —— 空类,无任何字段与方法
材质 Material.iron
亮度 1.0(setLightLevel(1.0F),common/MechContent.java:75)
硬度 / 抗性 未调用任何 setter —— Block 默认硬度 0.0、抗性 0.0
步声 未调用 setStepSound —— 默认 soundTypeStone
掉落 未覆写 getItemDropped —— 掉落自身
getRenderType -1(TESR 路径)
renderAsNormalBlock false(覆写)
isOpaqueCube false(覆写)
shouldSideBeRendered 恒 true(覆写,无条件)
贴图 setBlockTextureName("tinker:compressed_alubrass") —— 复用 Tinkers’ Construct 的铝黄铜压缩块贴图
GUI 无(DynamoBlock 未覆写 onBlockActivated)
能量产出 无
配方 无

结论:这是一个未完成的方块

DynamoLogic 全文只有三行:

package tmechworks.blocks.logic;

import net.minecraft.tileentity.TileEntity;

public class DynamoLogic extends TileEntity {

}

没有 generate()、没有能量字段、没有 Forge 能量接口(IEnergyHandler / generateEnergy)、没有 updateEntity、没有 NBT 读写。 它被 GameRegistry.registerTileEntity(DynamoLogic.class, "TMechworks:Dynamo") 注册(common/MechContent.java:78),但注册一个空 TE 不会产生任何行为。

DynamoBlock 同样只做渲染与贴图设置(blocks/DynamoBlock.java:12-41),构造器里除 setCreativeTab 外什么都没调。

common/MechRecipes.java:68-69 留着一行空注释 // Dynamo Recipes,说明配方部分被有意跳过 —— 配合无 TE 逻辑,可确认 Dynamo 是计划中但未实现的发电方块。

它当前在游戏里的唯一实际作用是:一个亮度 1 的装饰方块(可当弱光源用),贴图看起来像 TCon 的铝黄铜压缩块。

数值

数值 值
注册名 TMechworks:dynamo
亮度 1.0(setLightLevel(1.0F))
硬度 0.0(未调用 setter,默认值)
爆炸抗性 0.0(未调用 setter,默认值)
步声 soundTypeStone(未调用 setter,默认值)
getRenderType -1(TESR)
isOpaqueCube false
renderAsNormalBlock false
shouldSideBeRendered 恒 true
贴图 tinker:compressed_alubrass(借用 Tinkers’ Construct)
TE 字段数 0
TE 方法数 0(仅继承)
能量产出 无
配方数 0
GUI 无
创意标签 TMechworksRegistry.Mechworks

交互

触发 行为
放置 正常放置,getRenderType = -1 走 TESR 渲染
右键 无 GUI(未覆写 onBlockActivated,走 Block 默认返回 false)
提供能量 不能(TE 为空)
破坏掉落 掉落 TMechworks:dynamo

源码缺陷

  • TE 是空类(blocks/logic/DynamoLogic.java:5-6)—— 全仓无任何读写,见上文。
  • 未设硬度:DynamoBlock 构造器(blocks/DynamoBlock.java:14-17)只调 super(Material.iron) 与 setCreativeTab。硬度 0.0 = 一秒徒手挖掉,抗性 0.0。对比同仓 RedstoneMachine 明确 setHardness(12),属明显遗漏。
  • 未设步声:默认 soundTypeStone,放置/破坏脚步声与材质不符。
  • 借贴图不声明依赖:setBlockTextureName("tinker:compressed_alubrass") 直接引用 Tinkers’ Construct 的资源域。虽然 required-after:TConstruct 已保证 TCon 存在,但这是唯一一处跨 mod 贴图借用,若 TCon 改名资源即破图。
  • shouldSideBeRendered 恒 true:全 6 面都渲染,TESR 无条件全渲染,无视方块遮挡,对区块渲染有额外开销。
  • 无配方且无替代获取途径:无掉落表、无 /give 之外的手段,生存模式完全无法获得。// Dynamo Recipes 空注释(common/MechRecipes.java:68)是直接的证据。
  • 注册了 TE 却不用:registerTileEntity(DynamoLogic.class, "TMechworks:Dynamo")(common/MechContent.java:78)的 TE ID 含冒号 TMechworks:,是本仓唯一带命名空间前缀的 TE ID,其余 5 个 TE 均为裸名(Drawbridge / Firestarter / AdvDrawbridge / SignalBus / SignalTerminal),风格不统一。

相关条目