召唤者(ai-spawner)
基本信息
| 属性 |
值 |
| 类名 |
toast.specialAI.ai.special.EntityAISpawner |
| 实现接口 |
ISpecialAI |
| 名称 |
spawner |
| 默认权重 |
1 |
| 默认存值 |
byte 1 + 子标签 spawnerTags(mob spawner NBT) |
| 互斥位 |
BIT_NONE(不与任何 AI 互斥) |
| 优先级 |
0 |
功能
实体本身充当一个移动的刷怪笼:每 tick 调用 MobSpawnerBaseLogic.updateSpawner(),在自身位置生成同种类的怪物。粒子效果从实体眼睛高度发出,而不是脚下(通过 MobSpawnerAILogic.getSpawnerY 一次性抬升)。
默认 spawner 参数(写入 SPAWNER_TAG)
| 字段 |
值 |
EntityId |
空(运行时填入自身 EntityList.getEntityString) |
Delay |
20 |
MinSpawnDelay |
150 |
MaxSpawnDelay |
600 |
SpawnCount |
4 |
MaxNearbyEntities |
7 |
RequiredPlayerRange |
16 |
SpawnRange |
4 |
触发条件(shouldExecute)/ continueExecuting
初始化(initialize)
- 头盔位(4)装备
Block.mob_spawner,metadata = 自身 entity ID;setEquipmentDropChance(4, 0.0F)(永不丢弃)
movementSpeed × -0.2(op 1 乘性减速)
maxHealth +80,立即补满差量 HP
MobSpawnerAILogic 覆盖
| 方法 |
行为 |
func_98265_a(entity) |
调用 super 后 justSpawned = true |
func_98267_a(int) |
空实现(不发粒子速度重置包) |
getSpawnerWorld() |
theEntity.worldObj |
getSpawnerX/Y/Z() |
floor(theEntity.pos*);Y 在 justSpawned=true 时返回眼睛高度 |
兼容性
如果 NBT 含 spawnerTags 子标签,则读取自定义 spawner 参数(玩家可编辑 spawner NBT 修改生成规则)。
相关条目