召唤者(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 修改生成规则)。

相关条目