本文最后更新于 2025年9月14日 下午
寒冰剑(强大的武器)
在到后期有了暗晶剑后,我们还有通过对暗晶剑进行升级来得到寒冰剑
寒冰剑的合成
寒冰剑通过使用一个下界之星和两个冰晶合成
冰晶则需要通过四块蓝冰,四颗钻石,和一块紫水晶碎片来合成
寒冰剑的功能
寒冰剑继承了暗晶剑的吸血功能并且在攻击生物是会对生物施加霜冻效果
每施加一次霜冻效果会有两秒的冷却时间
了解霜冻机制请点这里
寒冰剑相比暗晶剑还有一点伤害提升
可以说是后期神器了
代码演示
下面是寒冰剑的具体实现代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| public class IceSwordItem extends SwordItem { private long lastHealTime = 0; private static final long HEAL_COOLDOWN = 2000; private int enemyHitCount = 0; private static final int COOLDOWN_TIME = 40;
public IceSwordItem(ToolMaterial toolMaterial, int attackDamage, float attackSpeed, Settings settings) { super(toolMaterial, attackDamage, attackSpeed, settings); }
@Override public boolean postHit(ItemStack stack, LivingEntity target, LivingEntity attacker) { if (attacker instanceof PlayerEntity user) { if (user.getItemCooldownManager().isCoolingDown(stack.getItem())) { return true; }
stack.damage(1, attacker, e -> e.sendEquipmentBreakStatus(EquipmentSlot.MAINHAND)); enemyHitCount++;
long currentTime = System.currentTimeMillis();
target.addStatusEffect(new StatusEffectInstance(ModStatusEffects.FROST, 200, 0));
if (currentTime - lastHealTime >= HEAL_COOLDOWN) { healMultipleFromEnemies(attacker, enemyHitCount); lastHealTime = currentTime; enemyHitCount = 0; }
user.getItemCooldownManager().set(stack.getItem(), COOLDOWN_TIME); }
return true; }
public void healMultipleFromEnemies(LivingEntity attacker, int enemyCount) { float healAmount = Math.min(enemyCount * 2, 20 - attacker.getHealth()); attacker.heal(healAmount); } }
|
以上代码用于 Fabric-1.20 版本模组开发
仅供参考,若想摘抄请在下方留言
后记
霜冻效果
青金铜套装的效果
“一花一世界,一叶一菩提”
版权所有 © 2025 云梦泽
欢迎访问我的个人网站:https://hgt12.github.io/