ChanceSD / PvPManager

Function with cyclomatic complexity higher than threshold found JAVA-R1000
Anti-pattern
Minor
10 occurrences in this check
isPvP has a cyclomatic complexity of 25 with "High" risk
104		return item.getType().name();
105	}
106
107	public static final boolean isPvP(final EntityDamageByEntityEvent event) {108		final Entity attacker = event.getDamager();
109		final Entity defender = event.getEntity();
110
checkProtection has a cyclomatic complexity of 15 with "Medium" risk
 60		addOnlinePlayers();
 61	}
 62
 63	public final ProtectionResult checkProtection(@NotNull final Player damager, @NotNull final Player defender) { 64		final CombatPlayer attacker = get(damager);
 65		final CombatPlayer attacked = get(defender);
 66
onPlayerInteract has a cyclomatic complexity of 17 with "High" risk
177
178	@SuppressWarnings("null") // p.getLocation() is not null
179	@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true) // cancel on low since some plugins check cancels on normal instead of monitor
180	public final void onPlayerInteract(final PlayerInteractEvent e) {181		final Player player = e.getPlayer();
182		if (CombatUtils.isWorldExcluded(player.getWorld().getName()) || e.getAction() != Action.RIGHT_CLICK_BLOCK)
183			return;
disableActions has a cyclomatic complexity of 16 with "High" risk
155	}
156
157	@SuppressWarnings("null") // PotionEffectType.INVISIBILITY is not null
158	private void disableActions(final Player attacker, final Player defender, final CombatPlayer pvpAttacker, final CombatPlayer pvpDefender) {159		final boolean hasExemptPerm = pvpAttacker.hasPerm(Permissions.EXEMPT_DISABLE_ACTIONS);
160		if (Conf.DISABLE_FLY.asBool()) {
161			if (CombatUtils.canFly(attacker) && !hasExemptPerm) {
onDamageActions has a cyclomatic complexity of 19 with "High" risk
120	}
121
122	@SuppressWarnings("null") // defender.getLocation() never null
123	public void onDamageActions(final Player attacker, final Player defender) {124		final CombatPlayer pvpAttacker = ph.get(attacker);
125		final CombatPlayer pvpDefender = ph.get(defender);
126
initMetrics has a cyclomatic complexity of 41 with "Very High" risk
 19		initMetrics(plugin);
 20	}
 21
 22	private void initMetrics(final PvPManager plugin) { 23
 24		final Metrics metrics = new Metrics(plugin, 5653, Conf.METRICS_OPT_OUT.asBool());
 25
onPlaceholderRequest has a cyclomatic complexity of 17 with "High" risk
 39	}
 40
 41	@Override
 42	public String onPlaceholderRequest(final Player player, final String identifier) { 43		if (player == null)
 44			return "";
 45
onCommand has a cyclomatic complexity of 15 with "Medium" risk
 30	}
 31
 32	@Override
 33	public final boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) { 34		if (!Permissions.COMMAND_PVP_TOGGLE.hasPerm(sender)) {
 35			sender.sendMessage(Lang.ERROR_PERMISSION.msg());
 36			return true;
debug has a cyclomatic complexity of 20 with "High" risk
171		});
172	}
173
174	private void debug(final CommandSender sender, final String[] args) {175		CombatPlayer p = null;
176		if (args.length == 2 && sender instanceof final Player player) {
177			p = plugin.getPlayerManager().get(player);
onCommand has a cyclomatic complexity of 18 with "High" risk
 61	}
 62
 63	@Override
 64	public final boolean onCommand(final CommandSender sender, final Command cmd, final String label, final String[] args) { 65		if (args.length == 0 && Permissions.COMMAND_MENU.hasPerm(sender)) {
 66			helpMenu(sender);
 67			return true;