跳到正文
烈焰甘蔗Wiki

EntityButterfly

基本信息

属性 值
注册名 Forestry:butterflyGE(EntityUtil.registerEntity(EntityButterfly.class, "butterflyGE", ...))
类 forestry.lepidopterology.entities.EntityButterfly extends EntityCreature
生命值 无法核实(EntityButterfly 未调用 setHealth/setMaxHealth)
护甲 无
碰撞箱 setSize(size, 0.4f) —— 宽度由基因 size 决定,高度固定 0.4(EntityButterfly.java:308)
材质纹理 由物种 species.getEntityTexture() 决定
火焰抗性 isImmuneToFire = genome.getFireResist()(EntityButterfly.setIndividual)

[!WARNING] 已订正(源码回核)

  1. 注册名原文写 forestry.butterfly —— 错。真实注册名 Forestry:butterflyGE(PluginLepidopterology.java:108)。butterfly 是包名 lepidopterology 的误写。
  2. 碰撞箱原文写「0.5×0.5」—— 错。源码是 setSize(size, 0.4f)(EntityButterfly.java:308),高度恒为 0.4,宽度是基因值(默认 DEFAULT_BUTTERFLY_SIZE = 0.75)。
  3. 生命值原文写「继承 EntityCreature 默认(通常 20)」—— 无法核实,EntityButterfly 中无相关赋值,已改为「无法核实」。
  4. 「死亡后实体消失」表述含糊 —— 实际有寿命机制:isDead 判定为 ticksExisted > MAX_LIFESPAN(EntityButterfly.java:375)。

常量(全部核对通过)

常量 值 证据
COOLDOWNS 1500 EntityButterfly.java:58
EXHAUSTION_REST 1000 EntityButterfly.java:67
EXHAUSTION_CONSUMPTION 100000(100 * EXHAUSTION_REST) EntityButterfly.java:68
MAX_LIFESPAN 168000 tick(24000 * 7) EntityButterfly.java:69
DATAWATCHER_ID_SPECIES 16 EntityButterfly.java:60
DATAWATCHER_ID_SIZE 17 EntityButterfly.java:61
DATAWATCHER_ID_STATE 18 EntityButterfly.java:62
DEFAULT_BUTTERFLY_SIZE 0.75 EntityButterfly.java:64
maximumHomeDistance 64 EntityButterfly.java:70

生成

  • 生成方式:本身不在世界生成。玩家用捕虫网捕获野生蝴蝶/蛾后得到对应物品;ButterflyManager 负责模板与基因
  • 物品:Forestry:butterflyGE(ItemButterflyGE(EnumFlutterType.BUTTERFLY))、Forestry:serumGE(SERUM)、Forestry:caterpillarGE(CATERPILLAR),见 ItemRegistryLepidopterology.java:23-25
  • 类型:EnumFlutterType

属性

属性 值
所含蝴蝶 IButterfly,携带完整基因组
物种 IAlleleButterflySpecies 决定外观与行为
大小 基因 size 决定,同步到 DATAWATCHER_ID_SIZE(size * 100)
状态 EnumButterflyState
活动范围 距家 maximumHomeDistance = 64 格(平方距离比较,EntityButterfly.java:246)

AI 行为(EntityButterfly.setDefaults,EntityButterfly.java:107-114)

优先级 Task
8 AIButterflyFlee - 逃离危险
9 AIButterflyMate - 寻找配偶交配
10 AIButterflyPollinate - 采集花粉
11 AIButterflyRest - 休息
12 AIButterflyRise - 从休息状态起飞
12 AIButterflyWander - 随机游荡

状态机

EnumButterflyState:DEFAULT_STATE(默认值)、FLYING、RESTING、TAKEOFF、LANDING、FLEEING、MATING 等,具体枚举值以源码 EnumButterflyState 为准。

基因组系统

基因 作用
IAlleleButterflySpecies 物种、外观、理想温湿度
Speed / Lifespan / Fertility / Pollination 速度、寿命、繁殖、授粉
Tolerance / Nocturnal 温湿度耐受、夜行性
FireResist 火焰抗性
Size 体型(影响碰撞箱宽度)

掉落

无法核实(EntityButterfly 中未见掉落表相关实现)。

第三方 mod 集成

  • Genetics:完整蝴蝶基因遗传系统
  • Arboriculture:花粉与树木互动(TreeManager)
  • IC2 / BuildCraft:无直接集成

相关条目

  • EntityBee - 蜜蜂(注意:并非世界实体,而是物品)
浏览全部模组