跳到正文
烈焰甘蔗Wiki

污秽生物(Taint Creatures)

被污秽(taint)转化而来的生物。全部实现空标记接口 ITaintedMob(thaumcraft.api.entities.ITaintedMob,接口体为空,只有 {}),供 TaintData / 转化逻辑识别。共 10 个注册实体。

基本信息

属性 值
模组 thaumcraft
注册代码 common/config/ConfigEntities.java:136-163
类目录 common/entities/monster/(9 个)+ common/entities/monster/boss/(1 个)
实体 ID 34–47
标记接口 thaumcraft.api.entities.ITaintedMob(空接口)
刷怪蛋 全部经 ItemSpawnerEgg.addMapping(名字, 前景色, 背景色)

10 个注册实体

ID 注册名 类 继承 生命值 刷怪蛋颜色
34 ThaumSlime EntityThaumicSlime EntityMob implements IMob, ITaintedMob 随体积变(见下) 前景 16761087 / 背景 16744703
35 TaintSpider EntityTaintSpider — 已有条目 16761087 / 4210752
36 Taintacle EntityTaintacle EntityMob 50.0 16761087 / 8388736
37 TaintacleTiny EntityTaintacleSmall EntityTaintacle implements ITaintedMob 8.0 16761087 / 8388752
38 TaintSpore EntityTaintSpore — 随孢子大小变 16761087 / 8388720
39 TaintSwarmer EntityTaintSporeSwarmer EntityTaintSpore 75.0 16761087 / 8388704
40 TaintSwarm EntityTaintSwarm EntityMob implements ITaintedMob 30.0 16761087 / 8388688
41 TaintedChicken EntityTaintChicken EntityMob implements ITaintedMob 8.0 16761087 / 12632256
42 TaintedCow EntityTaintCow EntityMob implements ITaintedMob 40.0 16761087 / 8272443
43 TaintedPig EntityTaintPig EntityMob implements ITaintedMob 20.0 16761087 / 15702511
44 TaintedSheep EntityTaintSheep EntityMob implements **IShearable**, ITaintedMob 20.0 16761087 / 8421504
45 TaintedVillager EntityTaintVillager EntityMob implements ITaintedMob 30.0 16761087 / 65535
46 TaintacleGiant EntityTaintacleGiant EntityTaintacle implements **IBossDisplayData**, ITaintedMob 125.0 16761087 / 8421504
— TaintedCreeper EntityTaintCreeper — — 已有条目

⚠️ TaintableGiant 与 TaintedSheep 的刷怪蛋背景色都是 8421504(ConfigEntities.java:163 与 :159),即用刷怪蛋区分不出这两个。

数值

生命值一览

实体 生命值 来源
ThaumSlime = 体积(setSlimeSize 里 getEntityAttribute(maxHealth).setBaseValue(par1),par1 就是大小) EntityThaumicSlime.java:216
Taintacle 50.0 EntityTaintacle.java:73
TaintacleTiny 8.0 EntityTaintacleSmall.java:23
TaintSpore = 孢子大小(setSporeSize 里 experienceValue = par1,血量同理) EntityTaintSpore.java:156
TaintSwarmer 75.0 EntityTaintSporeSwarmer.java
TaintSwarm 30.0 EntityTaintSwarm.java
TaintedChicken 8.0 EntityTaintChicken.java:55
TaintedCow 40.0 EntityTaintCow.java:47
TaintedPig 20.0 EntityTaintPig.java:47
TaintedSheep 20.0 EntityTaintSheep.java:59
TaintedVillager 30.0 EntityTaintVillager.java:71
TaintacleGiant 125.0 boss/EntityTaintacleGiant.java:43

EntityThaumicSlime 的体积—血量联动

setSlimeSize(int par1)(EntityThaumicSlime.java:216):

this.dataWatcher.updateObject(16, new Byte((byte) par1));
float ss = (float) Math.sqrt(par1);
setSize(0.25F * ss + 0.25F, 0.25F * ss + 0.25F);
setPosition(this.posX, this.posY, this.posZ);
getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(par1);   // 血量 = 体积
setHealth(getMaxHealth());
this.experienceValue = (int) ss;                                            // 经验 = sqrt(体积)
体积 par1 碰撞半宽 经验值
1 0.5 1
2 ≈0.604 1((int) 1.414 = 1)
4 ≈0.75 2

构造函数里体积取 1 << rand.nextInt(3) ⇒ 1 / 2 / 4 三种,血量同样是 1 / 2 / 4。

EntityTaintSpore 的孢子大小

setSporeSize(int par1)(EntityTaintSpore.java:156):碰撞半宽 max(0.15 × par1, 0.5),经验值 = par1。

EntityTaintacleSmall 的寿命

EntityTaintacleSmall.java:11 声明 int lifetime = 200; ⇒ 小污秽触手生成后 **200 tick(10 秒)**消散。

其它

属性 值 来源
本页覆盖实体 10 ConfigEntities.java:136-163
全部实体 ID 范围 0–49 ConfigEntities.java:74 起 id++
ITaintedMob 接口体 空(只有 {}) thaumcraft/api/entities/ITaintedMob.java
EntityTaintedSheep 额外实现 IShearable(可被剪刀剪毛) 类声明
EntityTaintacleGiant 额外实现 IBossDisplayData(Boss 血条) 类声明

交互

实体 行为
ThaumSlime 会跳、会吐出远程攻击(spitCounter 初始 100,每次 setThrowableHeading 构造);launched = 10
TaintedChicken 模仿原版鸡的跳动逻辑(保留 field_752_b / field_753_a / destPos 字段)
TaintedVillager 保留 randomTickDivider 与 isMatingFlag 字段,即仍会尝试繁殖
TaintedSheep 吃草、IShearable 剪毛
TaintacleTiny 200 tick 后自动消散
TaintSwarmer 继承 EntityTaintSpore,是孢子群落里的大号个体(75 血)
TaintacleGiant Boss,带血条,血量 125

相关条目

浏览全部模组