Stargate Ring

基本信息

属性 值
注册名 gcewing_sg:stargateRing
子方块数 2(blocks/SGRingBlock.java:40)
类 gcewing.sg.blocks.SGRingBlock(blocks/SGRingBlock.java:38)
硬度 1.5(blocks/SGRingBlock.java:52)
TileEntity SGRingTE(blocks/SGRingBlock.java:51)
物品形态 gcewing.sg.items.SGRingItem(SGCraft.java:164 显式指定)
自定义渲染 SGRingBlockRenderer(blocks/SGRingBlock.java:73)

功能

外环方块是单个方块类的两个 meta 变体,共享同一个 SGRingTE,都只保存 isMerged 与 basePos 两个字段,实际数据全部回指底座(blocks/SGRingBlock.java:153-158)。updateBaseBlocks 在方块加入或被破坏时扫描底座下方 5×5×5 范围(i,j = -2..2,j = -4..0)内所有 SGBaseBlock,未合并则尝试合并、指向别处则解除(blocks/SGRingBlock.java:190-204)。

外环段永远不单独构成星门:只有底座的 pattern 匹配后才会被 mergeWith 标记(blocks/SGBaseBlock.java:194)。isBeaconBase 恒为 true(blocks/SGRingBlock.java:207-209),因此可被放在信标塔基座上而不影响信标。

数值

meta 英文名 中文名 贴图 用途
0 Stargate Ring Block(en_US.lang:1) 星门外环方块(zh_CN.lang:1) stargateRing 图案值 1,充当外环本体
1 Stargate Chevron Block(en_US.lang:2) 星门导标方块(zh_CN.lang:2) stargateChevron 图案值 2,充当门扇导标

变体由 PropertyInteger.create("variant", 0, 1) 区分(blocks/SGRingBlock.java:42),各自绑定一份 ModelSpec(blocks/SGRingBlock.java:45-46)。damageDropped 返回 meta,因此两种形态掉落各自的形态(blocks/SGRingBlock.java:110-112)。

交互

  • 右键:仅在已合并时生效——把点击转发给底座,从而打开与底座完全相同的地址 GUI(blocks/SGRingBlock.java:115-126)。未合并时返回 false,无任何效果。
  • 创造栏:两个 meta 通过 getSubBlocks 各自列出(blocks/SGRingBlock.java:144-146)。

合成配方

两种形态都可以单独合成,且都不依赖底座是否已放置,详见 星门结构合成。

相关条目