make sure mount has player rider before checking for attack cancel

This commit is contained in:
2021-09-17 15:28:34 +02:00
parent 0eccf1b1af
commit bea0d9c7df
@@ -45,14 +45,16 @@ public class Util {
Set<UUID> playerPassengersWithPvpEnabled = new HashSet<>(); Set<UUID> playerPassengersWithPvpEnabled = new HashSet<>();
boolean hasPlayerPassengers = false;
for (Entity passenger : mount.getPassengers()) { for (Entity passenger : mount.getPassengers()) {
if (!(passenger instanceof Player)) continue; if (!(passenger instanceof Player)) continue;
Player player = (Player) passenger; Player player = (Player) passenger;
hasPlayerPassengers = true;
if (PreventStabby.getPlugin().getPlayerManager().getPlayerPvPState(player.getUniqueId())) if (PreventStabby.getPlugin().getPlayerManager().getPlayerPvPState(player.getUniqueId()))
playerPassengersWithPvpEnabled.add(player.getUniqueId()); playerPassengersWithPvpEnabled.add(player.getUniqueId());
} }
if (!mount.getPassengers().isEmpty() && playerPassengersWithPvpEnabled.isEmpty()) { if (hasPlayerPassengers && playerPassengersWithPvpEnabled.isEmpty()) {
PluginMessages.sendActionBar(attacker, config.getCannot_attack_mounts_victim()); PluginMessages.sendActionBar(attacker, config.getCannot_attack_mounts_victim());
return true; return true;
} }