@Override protected Location getLocation(Event event) { if (DependencyUtils.hasDeathTpPlus() && event instanceof DeathStreakEvent) { return ((DeathStreakEvent) event).getPlayer().getLocation(); } else if (DependencyUtils.hasDeathTpPlus() && event instanceof KillStreakEvent) { return ((KillStreakEvent) event).getPlayer().getLocation(); } else { throw new IllegalArgumentException(); } }
@Override public double getMultiplier(Player player) { double multiplier = NO_GAIN; if (DependencyUtils.hasPermission(player, "gain.environment") && getMultipliers().containsKey(player.getWorld().getEnvironment())) { multiplier = getMultipliers().get(player.getWorld().getEnvironment()); LoggerUtil.getInstance().debug(this.getClass(), "Environment multiplier: " + multiplier); } return multiplier; }
private boolean hasRewardSource(EntityKilledEvent event) { Player killer = event.getKiller(); LivingEntity entity = event.getEntity(); if (DependencyUtils.hasPermission(killer, "reward." + entity.getType().getName())) { if (hasRewardSource(entity.getType()) && !isRuleBroken(event)) { return true; } } else { LoggerUtil.getInstance() .debug( this.getClass(), "No reward for " + killer.getName() + " due to lack of permission for " + entity.getType().getName()); } return false; }