feat: disable invuln for plugin damage + DamageUtil + DiamondTri/Barrage/Overhead nerf

This commit is contained in:
SashegDev
2026-08-28 14:17:21 +03:00
parent a8ce2375c0
commit e227ad63bd
8 changed files with 244 additions and 21 deletions
@@ -0,0 +1,23 @@
package me.sashegdev.blackknife;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.persistence.PersistentDataType;
public class DamageUtil {
public static void apply(Player attacker, LivingEntity victim, double amount) {
victim.getPersistentDataContainer().set(SwoonHandler.MAGIC_DAMAGE, PersistentDataType.BYTE, (byte) 1);
victim.damage(amount, attacker);
victim.getPersistentDataContainer().remove(SwoonHandler.MAGIC_DAMAGE);
victim.setNoDamageTicks(0);
victim.setMaximumNoDamageTicks(10);
BlackKnifePlugin.getInstance().getServer().getScheduler().runTaskLater(BlackKnifePlugin.getInstance(), () -> {
if (victim.isValid() && victim.getMaximumNoDamageTicks() == 0) victim.setMaximumNoDamageTicks(10);
}, 1L);
}
public static void applyRaw(Player attacker, LivingEntity victim, double amount) {
if (victim instanceof Player pl && pl.isBlocking()) amount /= 2.5;
apply(attacker, victim, amount);
}
}