Ball O’ Moss Entity
苔藓球投掷实体,继承自 EntityThrowable。
基本属性
| 属性 | 值 |
|---|---|
| 父类 | EntityThrowable |
| 注册名 | chisel.BallOMoss(Features.java:363) |
| 物品来源 | ItemBallOMoss |
| 追踪距离 / 更新频率 | 40 / 1(Features.java:363) |
| 可被追踪 | true |
碰撞行为
onImpact 处理碰撞:
- 获取碰撞坐标 (x, y, z)
- 根据碰撞面 (sideHit) 调整目标坐标
- 调用
turnToMoss(world, x, y, z)转化方块 - 设置实体为 dead
turnToMoss 效果
turnToMoss(world, x, y, z)(EntityBallOMoss.java:80-101)——固定映射表,
只认这 5 条,其余方块一律不变(:99 提前 return):
| 原方块 | 变成 |
|---|---|
minecraft:cobblestone |
minecraft:mossy_cobblestone |
minecraft:cobblestone_wall meta 0 |
同方块 meta 1(苔藓朝向) |
chisel:cobblestone |
chisel:mossy_cobblestone |
chisel:templeblock |
chisel:mossy_templeblock |
minecraft:stonebrick |
同方块 meta 1 |
- 范围:半径 5 格,衰减 3(
EntityBallOMoss.java:57-58)——原文正确 - 命中音效
chisel:random.squash(1.0f / 1.0f)与 32 个粒子 仅在客户端播放(EntityBallOMoss.java:56-58),原文笼统称"播放音效和生成粒子", 已补明客户端限定
生成方式
ItemBallOMoss.onItemRightClick 中通过
world.spawnEntityInWorld(new EntityBallOMoss(world, player)) 在服务端生成
(ItemBallOMoss.java:28-30)。