SlimeBoots
弹力靴。⚠️ 已订正:耐久、材质、合成配方、创造标签 4 处错误。
基本信息
| 属性 | 值 |
|---|---|
| 注册名 | TConstruct:slime_boots |
| 类 | tconstruct.gadgets.item.ItemSlimeBoots(ItemArmor + ISpecialArmor) |
| 装备槽位 | 靴子(ArmorPart.Feet,armorType == 3) |
| 最大堆叠 | 1 |
| 最大耐久 | 100 |
| 护甲值 | 全部为 0(头/胸/腿/靴均 0) |
| 附魔适用 | 否(getItemEnchantability() 返回 0) |
| 创造标签 | TConstructRegistry.gadgetsTab |
| 耐久消耗 | 每次受击 damageArmor 扣 1 |
已订正 1:
最大耐久原文写 120,正确值 100。 证据:ItemSlimeBoots.java:226-228getMaxDamage() { return 100; };同值亦见于护甲材质EnumHelper.addArmorMaterial("SLIME", 100, new int[]{0,0,0,0}, 0)(ItemSlimeBoots.java:38)。 已订正 2:Material原文写「Slime (slime_leather)」——错误。 实际SLIME_MATERIAL.customCraftingMaterial = Items.slime_ball;(ItemSlimeBoots.java:48),即原版黏液球,本 mod 没有slime_leather这个物品。 已订正 3:Creative Tab原文写TConstructRegistry.gemTab——错误,实际为gadgetsTab。证据:ItemSlimeBoots.java:46。 已订正 4:原文注册名缺失,此处补TConstruct:slime_boots。证据:TinkerGadgets.java:41。
效果
弹跳判定链
onFall(LivingFallEvent)(ItemSlimeBoots.java:77-130):
fallDistance <= 2f→ 直接返回,不触发!SlimeBounceHandler.hasSlimeBoots(living)→ 返回- 潜行(
isSneaking())时:event.distance = 1后返回 —— 即只把坠落伤害压到 1,不弹起 - 正常情况:
event.setCanceled(true)取消坠落事件 - 客户端 / 服务端分别反推速度(服务端玩家需用
gravity = 0.2353455252反算:time = sqrt(fallDistance/gravity),velocity = gravity*time/2) - 水平动量除以 0.95 衰减;非玩家实体垂直速度乘 −0.9
- 播放
mob.slime.small音效,isAirBorne = true、onGround = false、event.distance = 0f
已订正:原文「Fall Damage Reduction: Reduces fall damage taken by bouncing」表述含糊。实际是完全取消坠落伤害(
setCanceled(true)),潜行时才是压到 1。
护甲属性
getProperties() 返回 new ArmorProperties(0, 0.1D, 1)(ItemSlimeBoots.java:174)——护甲 0、伤害减免 0.1、魔抗 1。getArmorDisplay() 返回 0。故本靴不提供护甲值,功能纯粹是弹跳。
合成配方
已订正:原文配方「4× Slime Leather + 1× Slime Ball(底部),在 Parts Chest 制作」——完全错误。 实际(
TinkerGadgets.java:49-58):空 S S B B
S=Items.slime_ball(原版黏液球)× 4B=TinkerWorld.slimeGelmetadata 1(绿色弹力黏液方块)× 2无 Parts Chest、无 slime leather。
配方在 Loader.isModLoaded("dreamcraft") 或 PHConstruct.disableAllRecipes 时被跳过。
相关条目
- SlimeSling — 另一弹跳道具(发射用)
- SlimeGel — 配方所需绿色黏液方块(meta 1)
- SlimeIsland — 黏液岛