烈焰铁轨
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | 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。