diff --git a/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java b/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java index 919d9ac..d736618 100644 --- a/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java +++ b/src/main/java/me/unurled/sacredrealms/sr/components/combat/CombatManager.java @@ -22,7 +22,6 @@ import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByBlockEvent; import org.bukkit.event.entity.EntityDamageByEntityEvent; -import org.bukkit.event.entity.EntityDamageEvent; import org.bukkit.event.entity.EntityDamageEvent.DamageCause; import org.bukkit.inventory.EntityEquipment; import org.jetbrains.annotations.NotNull; @@ -30,6 +29,7 @@ import org.jetbrains.annotations.NotNull; @SuppressWarnings("EmptyMethod") public class CombatManager extends Manager { + public static final Random RANDOM = new Random(); private final HashMap> historyMobDamage = new HashMap<>(); @EventHandler @@ -63,24 +63,23 @@ public class CombatManager extends Manager { d.playSound(d, Sound.BLOCK_ANVIL_HIT, 1.0f, 1.0f); return; } - if (entity instanceof Mob) { - Double dStrength = Items.getTotalAttribute(d, Attribute.STRENGTH); + if (entity instanceof Mob mob) { + double dStrength = Items.getTotalAttribute(d, Attribute.STRENGTH); SRPlayer player = pm.getPlayer(d.getUniqueId()); if (player != null) { dStrength += player.getAttribute(Attribute.STRENGTH); } - EntityEquipment equipment = ((Mob) entity).getEquipment(); - Double eDefense = Items.getTotalAttribute(equipment, Attribute.DEFENSE); + EntityEquipment equipment = mob.getEquipment(); + double eDefense = Items.getTotalAttribute(equipment, Attribute.DEFENSE); Double damage = dStrength - eDefense; Double dLuck = Items.getTotalAttribute(d, Attribute.LUCK); Double eLuck = Items.getTotalAttribute(equipment, Attribute.LUCK); - Double luck = dLuck - eLuck; + double luck = dLuck - eLuck; if (luck < -1000) { // 100% chance of miss - luck = -10000d; d.sendMessage(comp("You missed!")); d.playSound(d, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); e.setCancelled(true); @@ -94,8 +93,7 @@ public class CombatManager extends Manager { if (luck < 0) { // chances of miss - Random r = new Random(); - if (r.nextBoolean()) { + if (RANDOM.nextBoolean()) { d.playSound(d, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); e.setCancelled(true); d.sendMessage(comp("You missed!")); @@ -103,8 +101,7 @@ public class CombatManager extends Manager { } } else if (luck > 0 && luck < 1000) { // chance of critical hit - Random r = new Random(); - if (r.nextBoolean()) { + if (RANDOM.nextBoolean()) { d.playSound(d, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); // damage * 2 damage = damage * 2; @@ -155,22 +152,21 @@ public class CombatManager extends Manager { } } else if (entity instanceof Player player) { // damager is not player - if (damager instanceof Mob) { + if (damager instanceof Mob mob) { // get equipment of damager - EntityEquipment equipment = ((Mob) damager).getEquipment(); + EntityEquipment equipment = mob.getEquipment(); Double dStrength = Items.getTotalAttribute(equipment, Attribute.STRENGTH); Double eDefense = Items.getTotalAttribute(player, Attribute.DEFENSE); - Double damage = dStrength - eDefense; + double damage = dStrength - eDefense; Double dLuck = Items.getTotalAttribute(equipment, Attribute.LUCK); Double eLuck = Items.getTotalAttribute(player, Attribute.LUCK); - Double luck = dLuck - eLuck; + double luck = dLuck - eLuck; if (luck < -1000) { // 100% chance of miss - luck = -10000d; player.sendMessage(comp("You dodged!")); player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); e.setCancelled(true); @@ -184,8 +180,7 @@ public class CombatManager extends Manager { if (luck < 0) { // chances of miss - Random r = new Random(); - if (r.nextBoolean()) { + if (RANDOM.nextBoolean()) { player.playSound(player, Sound.ENTITY_ARROW_SHOOT, 1.0f, 1.0f); e.setCancelled(true); player.sendMessage(comp("You dodged!")); @@ -193,8 +188,7 @@ public class CombatManager extends Manager { } } else if (luck > 0 && luck < 1000) { // chance of critical hit - Random r = new Random(); - if (r.nextBoolean()) { + if (RANDOM.nextBoolean()) { player.playSound(player, Sound.ENTITY_PLAYER_ATTACK_CRIT, 1.0f, 1.0f); // damage * 2 damage = damage * 2; @@ -221,8 +215,6 @@ public class CombatManager extends Manager { } } - - - @EventHandler - public void onDamage(EntityDamageEvent e) {} + /*@EventHandler + public void onDamage(EntityDamageEvent e) {}*/ }