调制饮剂

基本信息

属性 值
注册类 vazkii.botania.common.brew.ModBrews
声明字段 21 个 public static Brew
实际赋值 21 个(= new BrewMod / = new BrewModPotion)
基础类 vazkii.botania.api.brew.Brew
实现类 BrewMod(原版药水)与 BrewModPotion(Botania 自定义药水)
自定义药水 7 个(ModPotions)
配方 ModBrewRecipes

功能

调制饮剂(Brew)是 Botania 的自定义药水体系。它在原版 12 种效果之外扩展出 7 种专属药水,并为几乎每种原版效果提供"更强版本"(更长持续时间或更高等级)。

所有 21 个饮剂在 ModBrews.init() 中注册。第 21 个 warpWard 是条件注册,见下。

数值

原版效果衍生(13 个)

new BrewMod(name, color, manaCost, PotionEffect...) 的参数依次为:注册名、颜色、消耗法力、药水效果。

变量 显示名 颜色 法力消耗 效果(id, 持续 tick, 等级)
speed Fleetfeet 0x59B7FF 4000 moveSpeed 1800 / 1
strength Vigor 0xEE3F3F 4000 damageBoost 1800 / 1
haste Adrenaline 0xF4A432 4000 digSpeed 1800 / 1
healing Mending 0xFF5ECC 6000 heal 1 / 1
jumpBoost Upsurging 0x32F46D 4000 jump 1800 / 1
regen Revitalization 0xFD6488 7000 regeneration 500 / 1
regenWeak Restoration 0xFD6488 9000 regeneration 2400 / 0
resistance Fortitude 0xB44E17 4000 resistance 1800 / 1
fireResistance Magmaskin 0xF86900 4000 fireResistance 9600 / 0
waterBreathing Gills 0x84A7CF 4000 waterBreathing 9600 / 0
invisibility Cloaking 0xAEAEAE 8000 invisibility 9600 / 0
nightVision Owlsight 0x7C4BEB 4000 nightVision 9600 / 0
absorption Shielding 0xF2EB23 7000 Potion.field_76444_x 1800 / 3

absorption 额外调用 .setNotBloodPendantInfusable().setNotIncenseInfusable(),即不能被血坠与香附魔。

Overload(多效果)

overload(Overload)是唯一同时施加 4 种效果的饮剂(ModBrews.java:59):

参数 值
颜色 0x232323(近黑)
法力消耗 12000(全表最高之一)
效果 1 damageBoost 1800 / 3
效果 2 moveSpeed 1800 / 2
效果 3 weakness 3600 / 2
效果 4 hunger 200 / 2

Botania 自定义药水(7 个)

new BrewModPotion(name, manaCost, PotionEffect),效果来自 ModPotions(7 个自定义 Potion):

变量 显示名 法力消耗 效果(持续 tick, 等级)
soulCross Crossed Souls 10000 ModPotions.soulCross 1800 / 0
featherfeet Feather Feet 7000 ModPotions.featherfeet 1800 / 0
emptiness Vanity’s Emptiness 30000 ModPotions.emptiness 7200 / 0
bloodthirst Crimson Shade 20000 ModPotions.bloodthrst 7200 / 0
allure Marine Allure 2000 ModPotions.allure 4800 / 0
clear Absolution 4000 ModPotions.clear 0 / 0

emptiness 的 30000 是全部 21 个饮剂中法力消耗最高的一个。clear 的持续时间为 0 —— 它是瞬发型(立即清除负面效果)。

注意 bloodthirst 引用的药水字段在 ModPotions 中名为 bloodthrst(少一个 “i”),这是源码中的实际拼写,非笔误转述。

条件注册的 warpWard

warpWard(Sane Thoughts)只在加载 Thaumcraft 时注册。它在 ModBrews.initTC() 中通过字符串匹配已有药水表来定位 Thaumcraft 的 warp ward 药水(ModBrews.java:68-78):

public static void initTC() {
    Potion warpWardPotion = null;
    for(Potion potion : Potion.potionTypes)
        if(potion != null && potion.getName().equals("potion.warpward")) {
            warpWardPotion = potion;
            break;
        }
    if(warpWardPotion != null)
        warpWard = new BrewMod(LibBrewNames.WARP_WARD, 0xFBBDFF, 25000,
            new PotionEffect(warpWardPotion.id, 12000, 0)).setNotBloodPendantInfusable();
}
属性 值
颜色 0xFBBDFF
法力消耗 25000
效果持续 12000 tick
来源检测 potion.getName().equals("potion.warpward")
调用位置 CommonProxy.postInit() 中 if(Botania.thaumcraftLoaded) { ModBrews.initTC(); ModBrewRecipes.initTC(); },CommonProxy.java:157-160

这是一个双重条件:warpWard 字段虽然无条件声明,但只有在 thaumcraftLoaded == true 且 Potion.potionTypes 中确实存在名为 potion.warpward 的药水时才被赋值。不满足时 warpWard 保持 null。

交互

触发 行为
调制 在酿造台(BlockBrewery)中用饮水瓶调制
饮用 施加对应 PotionEffect
香附魔 多数饮剂可用香附魔;absorption 被 setNotIncenseInfusable() 排除
血坠附魔 多数饮剂可用血坠附魔;absorption 与 warpWard 被 setNotBloodPendantInfusable() 排除
显示名 botania.brew.<name> 键,共 20 条 + botania.brew.fallback=Fallback

计数交叉验证:ModBrews 声明 21 个 public static Brew 字段,21 处实例化赋值;lang 中 botania.brew.*(不含 fallback)为 20 条。差值 1 正是 warpWard —— 它在无 Thaumcraft 时无显示名条目,与上面的双重条件结论一致。

合成配方

配方由 ModBrewRecipes 注册,其中 initTC() 同样是 Thaumcraft 条件调用(CommonProxy.java:160)。具体配方行本次未逐条读取,标记为「无法核实」。

相关条目