完善电击效果伤害逻辑

This commit is contained in:
17146 2024-06-09 21:10:15 +08:00
parent 84e3027794
commit bbdc7d30b5

View file

@ -61,7 +61,6 @@ public class ShockMobEffect extends MobEffect {
return;
}
living.getPersistentData().putBoolean("TargetShock", true);
living.getPersistentData().putInt("TargetShockAttacker", source.getId());
if (living.hasEffect(TargetModMobEffects.SHOCK.get())) {
@ -84,7 +83,6 @@ public class ShockMobEffect extends MobEffect {
}
if (instance.getEffect().equals(TargetModMobEffects.SHOCK.get())) {
living.getPersistentData().remove("TargetShock");
living.getPersistentData().remove("TargetShockAttacker");
}
}
@ -99,7 +97,6 @@ public class ShockMobEffect extends MobEffect {
}
if (instance.getEffect().equals(TargetModMobEffects.SHOCK.get())) {
living.getPersistentData().remove("TargetShock");
living.getPersistentData().remove("TargetShockAttacker");
}
}
@ -115,13 +112,13 @@ public class ShockMobEffect extends MobEffect {
return;
}
if (!living.getPersistentData().contains("TargetShockAttacker") ||
!living.getPersistentData().getBoolean("TargetShock")) {
return;
Entity entity;
if (!living.getPersistentData().contains("TargetShockAttacker")) {
entity = null;
} else {
entity = living.level().getEntity(living.getPersistentData().getInt("TargetShockAttacker"));
}
Entity entity = living.level().getEntity(living.getPersistentData().getInt("TargetShockAttacker"));
if (instance.getDuration() % 20 == 0) {
living.hurt(TargetModDamageTypes.causeShockDamage(living.level().registryAccess(), entity), 5.0f);