热砂
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | Natura:heatsand |
| 方块类 | mods.natura.blocks.nether.HeatSand |
| 父类 | net.minecraft.block.BlockFalling |
| 硬度 | 3f(构造函数内设置) |
| 采集等级 | 铲 0 级 |
| 脚步声 | Block.soundTypeSand |
| 碰撞箱高度 | 0.875(顶部 1/8 留空) |
| 开关 | 无(始终注册) |
功能
热砂是受重力影响的下界材料方块,并带接触伤害。它继承 BlockFalling(HeatSand.java:19),因此支持原版砂砾的全部行为:被破坏后掉落成下落方块实体。
接触伤害
onEntityCollidedWithBlock(HeatSand.java:43-54)对踩在其上的实体造成 1 点 DamageSource.inFire 伤害:
- 玩家:仅当副手槽位(
inventory.getStackInSlot(36))为空时才受伤 —— 拿着盾牌的玩家可以免疫 - 其他生物:仅当实体
!isImmuneToFire()时受伤 - 方法中原本还有减速逻辑
motionX *= 0.4D; motionZ *= 0.4D,已被注释掉(:51-52),故当前没有减速效果
碰撞箱
getCollisionBoundingBoxFromPool 覆写了原版,使碰撞箱顶部留出 1/8 空隙(f = 0.125F),使生物站上去时略微陷入(HeatSand.java:37-41)。
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 硬度 | 3.0 | HeatSand.java:25 |
| 碰撞箱高度 | 0.875 | HeatSand.java:38-40 |
| 接触伤害 | 1 点 | HeatSand.java:46,51 |
| 伤害类型 | DamageSource.inFire |
同上 |
| 光照等级 | 0(发光被注释) | NContent.java:159 |
NContent.java:159 的 setLightLevel(0.375f) 已被注释,因此热砂不发光。
交互
| 触发 | 行为 |
|---|---|
| 玩家无副手物品踩上 | 受到 1 点燃烧伤害 |
| 玩家手持副手物品(如盾牌)踩上 | 免疫 |
| 免疫火属性的生物踩上 | 免疫 |
| 破坏 | 掉落为下落方块实体(BlockFalling 行为) |
合成配方
无序合成:热砂 + 污秽土 → 1 个灵魂沙(NContent.java:927,注意该配方在 if (PHNatura.enableNetherGlass) 之外,无条件注册):
| 材料 | 产物 |
|---|---|
| 热砂 + 污秽土 | 灵魂沙 ×1 |
熔炼:热砂 → 下界玻璃 meta 1(经验 0.3,见 下界玻璃)。