调整治疗弹匣附魔的效果
This commit is contained in:
parent
1a8ee5d446
commit
2181c46060
3 changed files with 16 additions and 6 deletions
|
@ -817,12 +817,18 @@ public class GunEventHandler {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void handleHealClip(Player player, ItemStack stack) {
|
private static void handleHealClip(Player player, ItemStack stack) {
|
||||||
|
int healClipLevel = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.HEAL_CLIP.get(), stack);
|
||||||
|
if (healClipLevel == 0) {
|
||||||
|
healClipLevel = 1;
|
||||||
|
}
|
||||||
|
|
||||||
int time = stack.getOrCreateTag().getInt("HealClipTime");
|
int time = stack.getOrCreateTag().getInt("HealClipTime");
|
||||||
if (time > 0) {
|
if (time > 0) {
|
||||||
player.heal(player.getMaxHealth() * .6f);
|
player.heal(12.0f * (0.8f + 0.2f * healClipLevel));
|
||||||
List<Player> players = player.level().getEntitiesOfClass(Player.class, player.getBoundingBox().inflate(5))
|
List<Player> players = player.level().getEntitiesOfClass(Player.class, player.getBoundingBox().inflate(5))
|
||||||
.stream().filter(p -> p.isAlliedTo(player)).toList();
|
.stream().filter(p -> p.isAlliedTo(player)).toList();
|
||||||
players.forEach(p -> p.heal(p.getMaxHealth() * .3f));
|
int finalHealClipLevel = healClipLevel;
|
||||||
|
players.forEach(p -> p.heal(6.0f * (0.8f + 0.2f * finalHealClipLevel)));
|
||||||
|
|
||||||
stack.getOrCreateTag().putInt("HealClipTime", 0);
|
stack.getOrCreateTag().putInt("HealClipTime", 0);
|
||||||
}
|
}
|
||||||
|
|
|
@ -269,9 +269,9 @@ public class LivingEventHandler {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
int level = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.HEAL_CLIP.get(), stack);
|
int healClipLevel = EnchantmentHelper.getTagEnchantmentLevel(ModEnchantments.HEAL_CLIP.get(), stack);
|
||||||
if (level != 0) {
|
if (healClipLevel != 0) {
|
||||||
stack.getOrCreateTag().putInt("HealClipTime", 80 + level * 20);
|
stack.getOrCreateTag().putInt("HealClipTime", 80 + healClipLevel * 20);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,9 +87,13 @@ public abstract class GunItem extends Item {
|
||||||
itemstack.getOrCreateTag().putDouble("flash_time", (itemstack.getOrCreateTag().getDouble("flash_time") - 1));
|
itemstack.getOrCreateTag().putDouble("flash_time", (itemstack.getOrCreateTag().getDouble("flash_time") - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (itemstack.getOrCreateTag().contains("HealClipTime")) {
|
if (itemstack.getOrCreateTag().getInt("HealClipTime") > 0) {
|
||||||
itemstack.getOrCreateTag().putInt("HealClipTime", Math.max(0, itemstack.getOrCreateTag().getInt("HealClipTime") - 1));
|
itemstack.getOrCreateTag().putInt("HealClipTime", Math.max(0, itemstack.getOrCreateTag().getInt("HealClipTime") - 1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (itemstack.getOrCreateTag().getInt("KillClipTime") > 0) {
|
||||||
|
itemstack.getOrCreateTag().putInt("KillClipTime", Math.max(0, itemstack.getOrCreateTag().getInt("KillClipTime") - 1));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue