#790 Add top kills scoreboard

This new scoreboard displays each person's total amount of kills for the
battle in the warzone.
This commit is contained in:
cmastudios 2014-06-07 12:23:57 -05:00
parent 5e93ab6bc4
commit d4976ecbb4
2 changed files with 15 additions and 8 deletions

View File

@ -4,7 +4,8 @@ public enum ScoreboardType {
NONE(null),
POINTS("Points"),
LIFEPOOL("Lifepool");
LIFEPOOL("Lifepool"),
TOPKILLS("Top kills");
private final String displayName;
private ScoreboardType(String displayName) {

View File

@ -3,7 +3,6 @@ package com.tommytony.war.event;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.logging.Level;
import org.bukkit.ChatColor;
import org.bukkit.Location;
@ -12,6 +11,8 @@ import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.Entity;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.entity.Player;
import org.bukkit.entity.Projectile;
import org.bukkit.entity.TNTPrimed;
@ -29,12 +30,18 @@ import org.bukkit.event.entity.EntityRegainHealthEvent;
import org.bukkit.event.entity.EntityRegainHealthEvent.RegainReason;
import org.bukkit.event.entity.ExplosionPrimeEvent;
import org.bukkit.event.entity.FoodLevelChangeEvent;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.scoreboard.Objective;
import org.bukkit.util.Vector;
import org.getspout.spoutapi.SpoutManager;
import org.getspout.spoutapi.player.SpoutPlayer;
import com.tommytony.war.Team;
import com.tommytony.war.War;
import com.tommytony.war.Warzone;
import com.tommytony.war.config.ScoreboardType;
import com.tommytony.war.config.TeamConfig;
import com.tommytony.war.config.WarConfig;
import com.tommytony.war.config.WarzoneConfig;
@ -42,12 +49,6 @@ import com.tommytony.war.job.DeferredBlockResetsJob;
import com.tommytony.war.spout.SpoutDisplayer;
import com.tommytony.war.structure.Bomb;
import com.tommytony.war.utility.LoadoutSelection;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.LivingEntity;
import org.bukkit.event.entity.ProjectileHitEvent;
import org.bukkit.event.entity.ProjectileLaunchEvent;
import org.bukkit.metadata.FixedMetadataValue;
import org.bukkit.util.Vector;
/**
* Handles Entity-Events
@ -167,6 +168,11 @@ public class WarEntityListener implements Listener {
if (attackerTeam.getTeamConfig().resolveBoolean(TeamConfig.KILLSTREAK)) {
War.war.getKillstreakReward().rewardPlayer(a, defenderWarzone.getKillCount(a.getName()));
}
if (defenderWarzone.getScoreboard() != null &&
defenderWarzone.getScoreboardType() == ScoreboardType.TOPKILLS) {
Objective obj = attackerWarzone.getScoreboard().getObjective("Top kills");
obj.getScore(a).setScore(defenderWarzone.getKillCount(a.getName()));
}
}
WarPlayerDeathEvent event1 = new WarPlayerDeathEvent(defenderWarzone, d, a, event.getCause());
War.war.getServer().getPluginManager().callEvent(event1);