附魔与药水效果
基本信息
Draconic Evolution 注册 1 个自定义附魔;自定义药水效果系统存在但已失效,实际生效的全部是原版药水 ID。
| 类型 | 内部名 | 本地化键 | 说明 |
|---|---|---|---|
| 附魔 | DraconicEvolution.reaperEnchant |
enchantment.draconicevolution.reaperEnchant(英文值 Reaper) |
收割者,唯一自定义附魔 |
| 自定义药水基类 | PotionHandler.PotionBase |
potion.de.*.txt |
全部注释,未生效,见下方 |
功能
收割者附魔(EnchantmentReaper)
类:com.brandon3055.draconicevolution.common.magic.EnchantmentReaper(EnchantmentReaper.java:11-33)。
构造签名 super(id, 2, EnumEnchantmentType.weapon),三个参数分别是:
| 参数 | 值 | 含义 |
|---|---|---|
id |
来自配置 | 附魔 ID,默认 180 |
weight |
2 | 附魔权重(Enchantment.setName 之前由父类字段设定) |
type |
EnumEnchantmentType.weapon |
只能附在武器上 |
- 实例化于
CommonProxy.java:147:DraconicEvolution.reaperEnchant = new EnchantmentReaper(ConfigHandler.reaperEnchantID); - 附魔 ID 由配置项
Reaper Enchant id决定,默认 180(ConfigHandler.java:359),配置分类为magicId's。 - 最高等级 5(
EnchantmentReaper.java:17-20)。 - 最低附魔门槛
getMinEnchantability(level) = 1 + 10 × (level - 1),即第 1 级 1 点、第 2 级 11 点、第 3 级 21 点……(EnchantmentReaper.java:22-25)。 - 最高附魔门槛
getMaxEnchantability(level) = getMinEnchantability(level) + 50(EnchantmentReaper.java:27-30)——注意此处调用的是父类的getMinEnchantability而非本类重写版本,因此不随等级递增。
自定义药水系统 —— 已失效
common/magic/PotionHandler.java 定义了 PotionBase extends Potion 抽象基类,但:
PotionHandler.init()是空方法(PotionHandler.java:11)。renderInventoryEffect()的整个方法体被注释掉(PotionHandler.java:25-43),包括全部 6 个效果名称的绘制代码。shouldRenderInvText()返回false(PotionHandler.java:18-21)。
因此本地化文件中的 6 个药水键全部没有任何代码引用:
| 本地化键 | 英文值 | 状态 |
|---|---|---|
potion.de.effect.txt |
Effect | 未引用 |
potion.de.flight.txt |
Flight | 未引用 |
potion.de.highStep.txt |
High Step | 未引用 |
potion.de.swiftness.txt |
Swiftness | 未引用 |
potion.de.fireImmune.txt |
Fire Immunity | 未引用 |
potion.de.jumpBoost.txt |
Jump Boost | 未引用 |
实际生效的原版药水效果
龙之力护甲与食物直接使用原版 Potion 枚举:
| 效果 | 来源 | 参数 |
|---|---|---|
| 夜视 | DraconicArmor.java:227, 230 |
new PotionEffect(Potion.nightVision.id, 419, 0, true) |
| 夜视(脱下时清除) | DraconicArmor.java:231 |
player.removePotionEffect(Potion.nightVision.id) |
| 虚弱 | DraconicArmor.java:269-272 |
护甲会屏蔽负面效果,但手持 TConstruct 巨剑时例外(ModHelper.isHoldingCleaver) |
| 攻击伤害 +5 / 挖掘速度 +5 | DezilsMarshmallow.java:34-35 |
new PotionEffect(Potion.damageBoost.id, 20*60*10, 5) 与 Potion.digSpeed.id,持续 200 秒 |
| 僵尸负面效果 | MinecraftForgeEventHandler.java:359-360 |
PotionEffect(5, 10000, 3) + PotionEffect(11, 10000, 2) |
| 玩家加速 | MinecraftForgeEventHandler.java:364 |
PotionEffect(2, 500, 3) |
| 末影龙抗性 | EntityCustomDragon.java:78 |
PotionEffect(10, 600, 10, false) |
数值
| 数值名 | 值 | 来源 |
|---|---|---|
| 收割者附魔默认 ID | 180 | ConfigHandler.java:359 |
| 收割者附魔最高等级 | 5 | EnchantmentReaper.java:17-20 |
| 收割者最低附魔门槛 | 1 + 10 × (level − 1) |
EnchantmentReaper.java:23 |
| 收割者最高附魔门槛 | 最低值 + 50(恒定) | EnchantmentReaper.java:29 |
| 收割者可附对象 | 仅武器 | EnchantmentReaper.java:12 |
| 棉花糖增益持续时间 | 200 秒(20 × 60 × 10 tick) |
DezilsMarshmallow.java:34-35 |
| 棉花糖增益等级 | +5 | DezilsMarshmallow.java:34-35 |
| 夜视持续时间 | 419 tick | DraconicArmor.java:227, 230 |
交互
| 触发 | 行为 |
|---|---|
| 装备龙之心 / 觉醒龙块制作的护甲头盔 | 获得夜视 |
| 卸下该头盔 | 清除夜视 |
| 穿着龙之护甲时 | 屏蔽负面药水效果(持 TConstruct 巨剑时失效) |
| 食用 Dezil 的棉花糖 | 获得 200 秒攻击伤害 +5 与挖掘速度 +5 |
| 在铁砧 / 书桌对武器施加附魔 | 出现「收割者」选项 |
| 末影龙召唤完成 | 自动获得 600 tick 的抗性 X |