蜂群实体

基本信息

属性 值
实体名 computronics:swarm
实体类 pl.asie.computronics.integration.forestry.entity.EntitySwarm(继承 EntityFlyingCreature,实现 IBeeHousing)
Entity ID 9(IntegrationForestry.java:166)
跟踪范围 64
更新频率 1 tick(IntegrationForestry.java:168)
注册条件 Forestry ≥ 4.2.0 且 加载 OpenComputers 且 enable.forestry.opencomputersBees(IntegrationOpenComputers.java:153-163)
中文名 entity.computronics.swarm.name = 蜂群(zh_CN.lang)

注意 registerModEntity 的名字参数是 "swarm" 而非 "computronics.swarm"(IntegrationForestry.java:166)——Forge 会用调用方所在 mod 的 modid 补全,因此 lang 键仍是 entity.computronics.swarm.name,匹配正确。

功能

EntitySwarm 是一个双面实体:既是会攻击玩家的敌对生物,又实现 Forestry 的 IBeeHousing(EntitySwarm.java:49),即它本身就是一个蜂巢。

群体结构

概念 说明 源行
蜂后物品 构造函数收 ItemStack queen,存进 IBeeHousingInventory EntitySwarm.java:62、:534
成员上限 memberCountMax,随受伤比例缩减:Math.max(Math.min(m, memberCountMax × (health/maxHealth)), 1) EntitySwarm.java:114
成员生成 swarmMembers.size() < memberCountMax 时补员 EntitySwarm.java:104 附近
攻击修正 0.1D × (health / maxHealth) EntitySwarm.java:461

伤害源

自定义 EntitySwarm.BeeDamageSource(EntitySwarm.java:503),配合 zh_CN.lang 的 6 条 death.attack.computronics.sting.* 死亡信息(sting.1–sting.5 与 sting.self)。

生命周期

由纳米机器系统生成:SwarmProvider 注册到 Forge 事件总线并 Nanomachines.addProvider(provider)(IntegrationForestry.java:167-170)。SwarmBehavior 在满足条件时执行 new EntitySwarm(player.worldObj, x, y, z, queen)(SwarmBehavior.java:58)。

⚠️ IntegrationForestry.java:169 的 FMLCommonHandler.instance().bus().register(provider); 一行已被注释掉。实际生效的只有 Forge 总线注册这一条路径,provider 不会收到 FML 生命周期事件。

数值

数值名 值 来源
enable.forestry.opencomputersBees true Config.java:328-332

实体自身的其它参数(血量、攻击力、成员数上限等)由源码在构造期计算,没有对应的配置项。

交互

触发 行为
玩家靠近 蜂群攻击玩家
玩家死亡 触发 sting.* 死亡信息之一
玩家携带蜂后物品 满足条件时生成新蜂群

相关条目