位移方块组(Transvector)

基本信息

属性 值
方块数 2(接口 + 位移器)
基类 BlockTransvectorInterface 继承 BlockMod;BlockTransvectorDislocator 继承 BlockCamo
TileEntity 包 thaumic.tinkerer.common.block.tile.transvector:TileTransvector、TileTransvectorInterface、TileTransvectorDislocator
注册位置 TTRegistry.java:69(位移器)、TTRegistry.java:70(接口)
注册门槛 两者均无条件注册(各自 shouldRegister() 显式 return true)

两个方块是同一机制的一对:接口方块提供可移动容器,位移器方块负责跨位置搬运。TileTransvector 是二者共享的基类 TileEntity。

数值

方块 注册名 Java 类 TileEntity 注册门槛 注册行
位移器 dislocator BlockTransvectorDislocator TileTransvectorDislocator 无条件 TTRegistry.java:69
接口 interface BlockTransvectorInterface TileTransvectorInterface 无条件 TTRegistry.java:70

功能

接口方块(Transvector Interface)

自身不定义固定槽位数,而是透传所绑定 TileEntity 的槽位大小:

  • getTileEntity() 返回 TileTransvectorInterface.class(BlockTransvectorInterface.java:71-73)
  • TileTransvectorInterface.getSizeInventory() 为 return tile instanceof IInventory ? ((IInventory) tile).getSizeInventory() : 0;(TileTransvectorInterface.java:109-111)—— 目标不是 IInventory 时返回 0
  • 槽位索引由 int[] slots = new int[inv.getSizeInventory()]; 分配(TileTransvectorInterface.java:62)

位移器方块(Transvector Dislocator)

继承 BlockCamo(与 BlockPlatform、BlockGolemConnector、BlockRPlacer 同基类)。TileTransvectorDislocator 在搬运时会调用目标的 createTileEntity(worldObj, meta) 来实例化被搬运的方块实体(TileTransvectorDislocator.java:189),这是仓库中除 BlockForcefield 外另一处直接使用原版 createTileEntity() 路径的地方。

研究

方块 研究键 键值 要素 父研究 复杂度
接口 KEY_INTERFACE INTERFACE ENTROPY 4 + ORDER 4 KEY_DARK_QUARTZ -4 / 2 / 1
位移器 KEY_DISLOCATOR DISLOCATOR TRAVEL 2 + MECHANISM 1 + ELDRITCH 1 KEY_INTERFACE(另 setParentsHidden("MIRROR")) -6 / 1 / 3

接口研究来自 BlockTransvectorInterface.getResearchItem()(BlockTransvectorInterface.java:76-85);位移器研究来自 BlockTransvectorDislocator.getResearchItem()(BlockTransvectorDislocator.java:161-176),并调用了 setConcealed() 与 setSecondary()。

受 Thaumcraft Config.allowMirrors 门控

位移器的 getResearchItem() 与 getRecipeItem() 首行都是 if (!Config.allowMirrors) { return null; }(BlockTransvectorDislocator.java:162-164 与 :179-181)。方块本身仍会注册(shouldRegister() 恒 true),但当 Thaumcraft 关闭镜像时,位移器没有研究条目也没有合成配方。

合成配方

位移器的配方为 3 行 3 列的奥术配方(BlockTransvectorDislocator.java:181-195 起):

 M 
 I 
 C 
字符 物品 源码
M Thaumcraft 资源 ConfigItems.itemResource meta 10 BlockTransvectorDislocator.java:189-190
I 位移接口方块本体 BlockTransvectorDislocator.java:191-192
C 见 BlockTransvectorDislocator.java:193 起的 'C' 分支 —

所需 Aspects:EARTH 5 + ENTROPY 5。

相关条目