挖掘 AI(dig)

基本信息

属性 值
类名 toast.specialAI.ai.grief.EntityAIDig
实例化 源码中仅注释保留:AIHandler.addDigAI 与僵尸路径块皆被注释,未注入;属于 WIP 模板

功能

当实体被阻挡且无法沿路径到达目标时,扫描自身周围碰撞箱中第一个非空方块作为挖掘目标,从顶到底(Y 轴 maxY→minY)搜索并开始破坏。

⚠️ 实际并不启用:AIHandler.onEntityJoinWorld 中对应的 // Digging if (event.entity instanceof EntityZombie) AIHandler.addDigAI(theEntity); 整段被注释,因此 EntityAIDig 在运行时不会注入到任何实体。可作为 WIP 占位参考。

关键属性

字段 值 含义
PLAYER_ONLY false 任何 EntityLivingBase 都可成为目标(硬编码)
LEAVE_DROPS false 不留物品
NEEDS_TOOL false 不要求正确工具

shouldExecute

  • 游戏规则 mobGriefing = true
  • target 存在
  • targetHighestObstruction(target) 找到顶部的遮蔽方块

continueExecuting

  • 该位置仍为同一目标方块
  • 实体距起点距离 ≤ 4(防止走出原位)

挖掘逻辑(updateTask)

每 tick BlockHelper.getDamageAmount 累加到 blockDamage,每 20 tick 播一次 1010 音效 + swingItem。blockDamage ≥ 1.0F 后 setBlockToAir + 播 2001 破坏音。destroyBlockInWorldPartially 客户端展示挖掘进度。

相关条目