跳到正文
烈焰甘蔗Wiki

Smashing Rock Entity

粉碎石投掷实体,继承自 EntityThrowable。

基本属性

属性 值
父类 EntityThrowable(EntitySmashingRock.java:12)
注册名 chisel.SmashingRock(Features.java:3611)
物品来源 ItemSmashingRock
追踪距离 / 更新频率 40 / 1(Features.java:3611)
可被追踪 true

构造函数

支持三种构造方式:

  • EntitySmashingRock(World) - 空白构造
  • EntitySmashingRock(World, EntityLivingBase) - 以实体为基准生成
  • EntitySmashingRock(World, double, double, double) - 指定坐标生成

碰撞行为

onImpact 处理碰撞:

  1. 获取碰撞坐标和面
  2. 根据 sideHit 调整坐标
  3. 调用 smash(world, x, y, z) 破坏方块
  4. 设置实体为 dead
  5. 播放破坏音效

smash 效果

已订正(语义写反 —— 本条目最严重的错误):原文称 “smash 效果:破坏指定坐标的方块 / 影响周围半径 5 格范围 / 衰减系数 3”。 smash() 不破坏方块。它是一个方块降级转化函数, 源码中没有 setBlockToAir、没有掉落物生成、没有硬度判断。

实际逻辑(EntitySmashingRock.java:79-93):

原方块 变成
minecraft:stone minecraft:cobblestone
minecraft:stonebrick meta 0 minecraft:stonebrick meta 2
minecraft:cobblestone minecraft:gravel
minecraft:gravel minecraft:sand
其他任何方块 完全不变(:92 提前 return)

正确描述:粉碎石命中范围内把石头类方块逐级风化成沙,对其他方块无效。

半径 5、衰减 3 的部分正确(EntitySmashingRock.java:57-58)。

命中音效

onImpact 在客户端播放 chisel:squash(音量 1.0f、音调 1.0f, EntitySmashingRock.java:53)。原文未提及该音效。

浏览全部模组