烈焰铁轨

基本信息

属性 值
注册名 Natura:Blazerail(普通)<br>Natura:BrailPowered(动力)<br>Natura:BrailActivator(激活)<br>Natura:BrailDetector(探测)
方块类 mods.natura.blocks.tech.BlazeRail<br>BlazeRailPowered<br>BlazeRailDetector
硬度 0.7(四者相同)
开关 enableBlazeRails

功能

烈焰铁轨是一组 4 个方块,构成一套可在下界运行的动力铁轨系统。四者的差别在于对矿车的加减速行为,而不在于是否需要红石。

  • BlazeRail(普通)继承 BlockRail,仅把最大速度改为 0.65f(BlazeRail.java:13-16)
  • BlazeRailDetector 继承 BlockRailDetector,同样把最大速度改为 0.65f(BlazeRailDetector.java:13-16)
  • BlazeRailPowered 继承 BlockRailPowered,构造参数 activator 区分「动力轨」与「激活轨」(BlazeRailPowered.java:11-14)

动力轨的加减速机制

BlazeRailPowered.onMinecartPass 是整套系统的核心(BlazeRailPowered.java:32-61)。当矿车经过时:

  • 若元数据 >= 8:
    • 激活轨(activator == true):方法体为空,不做任何事
    • 动力轨(activator == false):
      • meta == 8(东西向):若 z+1 为普通方块则 motionX += 0.2,若 z-1 为普通方块则 motionX -= 0.2 —— 即朝向阻挡物方向加速
      • meta == 9(南北向):对称逻辑,作用于 motionZ
      • 随后乘以加速系数:|motion| < 0.2 时 ×1.2,否则 ×1.05
  • 若元数据 < 8 且非激活轨:motionX 与 motionZ 各乘 0.5(减速)

这意味着普通形态的烈焰铁轨在矿车经过时会减速,这与原版普通铁轨的惰性行为方向一致,但衰减更明显(直接对速度乘 0.5)。

数值

数值名 值 来源
最高速度 0.65f BlazeRail.java:15、BlazeRailDetector.java:15、BlazeRailPowered.java:18
硬度 0.7 NContent.java:181,184,187,190
起步加速 motion ± 0.2 BlazeRailPowered.java:41-48
低速加速倍率 ×1.2 BlazeRailPowered.java:52,54
高速加速倍率 ×1.05 BlazeRailPowered.java:53,55
普通轨减速倍率 ×0.5 BlazeRailPowered.java:58-59

交互

触发 行为
矿车经过(meta ≥ 8,动力轨) 按相邻方块方向加速,乘 1.2 或 1.05
矿车经过(meta < 8,动力轨) X/Z 速度各乘 0.5
矿车经过(激活轨) 无操作
红石充能 继承 BlockRailPowered 原版行为,切换 meta 0/8
探测轨输出 继承 BlockRailDetector,可输出比较器/红石信号

合成配方

动力轨(产出 6 个,ShapedOreRecipe):

X X
X#X
XRX

X = 烈焰棒,# = 下界树原木(NContent.darkTree meta 1),R = 红石粉(物品字典 dustRedstone)。

激活轨(产出 6 个):

XSX
X#X
XSX

X = 烈焰棒,# = 红石火把(Blocks.redstone_torch),S = 木棍(物品字典 stickWood)。

普通轨(产出 16 个):

X X
X#X
X X

X = 烈焰棒,# = 木棍(stickWood)。

探测轨(产出 6 个):与动力轨相同的三行配方,但 # 为下界岩压力板 —— 仅在 enableNetherPressurePlates 为 true 时使用 Natura 的下界岩压力板,否则回退到原版 Blocks.stone_pressure_plate(NContent.java:978-1004)。

以上配方均见 NContent.java:943-1005。

相关条目