四季靴(Boots of the Seasons)

基础靴之一,无条件注册(Config.java:80)。它的 vis 折扣与贴图会随服务器真实日历在 12 月与非 12 月之间切换,是本 mod 唯一按日期变动的靴子。

基本信息

属性 值
注册名 thaumicboots:ItemSeasonBoots(Config.java:80)
内部类 thaumicboots.item.boots.unique.ItemSeasonBoots
本地化名 item.ItemSeasonBoots.name = Boots of the Seasons
构造参数 (ThaumcraftApi.armorMatSpecial, 4, 3)(Config.java:79)
基类 ItemBoots extends ItemArmor,实现 ITBootJumpable、ITBootSpeed、IVisDiscountGear、IRunicArmor、IRepairable
稀有度 EnumRarity.rare(ItemBoots.getRarity 固定返回)
图标 非 12 月 thaumicboots:bootsArcanium;12 月切换为 thaumicboots:bootsChristmas
护甲贴图 非 12 月 thaumicboots:model/boots_arcanium.png;12 月切换为 thaumicboots:model/boots_christmas.png

数值

数值 非 12 月 12 月(圣诞)
visDiscount 3 6
tier 2 2
jumpBonus 0.35D(3.5 格) 0.35D
speedBonus 0.165F 0.165F
longrunningbonus 0.003F × 1 = 0.003F 0.003F × 12 = 0.036F
modifier 字段 1 12
negateFall(免摔) true true
waterEffects(涉水减益) true true
steadyBonus(持续加速) true true

数据源:ItemSeasonBoots.java:14-37。

注意 longrunningbonus 的语义:它不是直接加成,而是乘在「已奔跑 tick 数」上的系数。ItemBoots.computeBonus(ItemBoots.java:127-130)算出 speedBonus + (runTicks * 0.2F) * longrunningbonus,所以圣诞月长跑收益是平月的 12 倍。

功能

  • 真实日历驱动:CalendarHelper.isChristmas() 读 Calendar.MONTH + 1 == 12,即服务器操作系统的时间。改系统日期即可切换,不看游戏内时间。
  • 免摔:onArmorTick 每 tick 把 player.fallDistance 归零(ItemBoots.java:151-153)。
  • 涉水减益:waterEffects = true,在水中 bonus *= 0.25F(ItemBoots.java:216-218)。
  • 持续加速:steadyBonus = true,NBT 键 runTicks 记录奔跑 tick,每 tick 累加。
  • 台阶辅助:stepAssist 键开启后 stepHeight = 1.0F。
  • 皮革可修复:getIsRepairable 允许用皮革修复(ItemBoots.java:124-127)。

合成配方

配方类型 输入 输出
坩埚(ThaumcraftHelper.java:269) 奥术透镜 + 泰铑 本物品 ×4
灌注(ThaumcraftHelper.java:275) 本物品 + 烈焰火箭(任意元)、墨水、书、烈焰火箭、铁剑、南瓜灯、霜冻法杖、橡树树苗 本物品 ×1

TB_Core_Research(奥术制鞋术)的研究页 2 记录坩埚配方;TB_Seasonal_Boots(季节魔法)的研究页 2 记录灌注配方。

已知缺陷

  • isChristmas() 依赖服务器操作系统日期。GTNH 多人服务器上所有玩家看到的 vis 折扣取决于服主的系统时间,与游戏内世界时间无关。
  • 配方 seasonalBoot 的材料里烈焰火箭出现两次(ThaumcraftHelper.java:282 与 :284),是 7 槽灌注配方的重复填装。
  • modifier 字段在非 12 月走默认 1,但 ItemSeasonBoots 的 modifier 是实例字段且在 setBootsData() 内被赋值,而 longrunningbonus 的计算放在方法末尾——顺序正确,无初始化时序问题。

相关条目